Shader "Hidden/HxDensityShader" {
	Properties {
		_MainTex ("Particle Texture", 2D) = "white" {}
		_InvFade ("Soft Particles Factor", Range(0.01, 3)) = 1
	}
	SubShader {
		Pass {
			Tags { "IGNOREPROJECTOR" = "true" "QUEUE" = "Transparent" "RenderType" = "Transparent" }
			Blend One One, One One
			BlendOp Max, Max
			ZTest Always
			ZWrite Off
			Cull Off
			GpuProgramID 44050
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[313];
						vec4 _MainTex_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_2_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_3_2[4];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_4[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_COLOR0;
					in  vec2 in_TEXCOORD0;
					out vec4 vs_COLOR0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD2;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_COLOR0 = in_COLOR0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = u_xlat0.y * unity_MatrixV[1].z;
					    u_xlat0.x = unity_MatrixV[0].z * u_xlat0.x + u_xlat2;
					    u_xlat0.x = unity_MatrixV[2].z * u_xlat0.z + u_xlat0.x;
					    u_xlat0.x = unity_MatrixV[3].z * u_xlat0.w + u_xlat0.x;
					    vs_TEXCOORD2.z = (-u_xlat0.x);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD2.w = u_xlat1.w;
					    vs_TEXCOORD2.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[313];
						vec4 _MainTex_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_2_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[12];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_4[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_6;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_COLOR0;
					in  vec2 in_TEXCOORD0;
					out vec4 vs_COLOR0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD2;
					vec4 u_xlat0;
					vec2 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					float u_xlat3;
					int u_xlati6;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    gl_Position = u_xlat2;
					    vs_COLOR0 = in_COLOR0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = u_xlat0.y * unity_StereoMatrixV[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4].z;
					    u_xlat0.x = unity_StereoMatrixV[u_xlati1 / 4][u_xlati1 % 4].z * u_xlat0.x + u_xlat3;
					    u_xlat0.x = unity_StereoMatrixV[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4].z * u_xlat0.z + u_xlat0.x;
					    u_xlat0.x = unity_StereoMatrixV[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4].z * u_xlat0.w + u_xlat0.x;
					    vs_TEXCOORD2.z = (-u_xlat0.x);
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati6].zw;
					    vs_TEXCOORD2.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati6].xy + u_xlat1.xy;
					    vs_TEXCOORD2.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SOFTPARTICLES_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[313];
						vec4 _MainTex_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_2_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_3_2[4];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_4[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_COLOR0;
					in  vec2 in_TEXCOORD0;
					out vec4 vs_COLOR0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD2;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_COLOR0 = in_COLOR0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = u_xlat0.y * unity_MatrixV[1].z;
					    u_xlat0.x = unity_MatrixV[0].z * u_xlat0.x + u_xlat2;
					    u_xlat0.x = unity_MatrixV[2].z * u_xlat0.z + u_xlat0.x;
					    u_xlat0.x = unity_MatrixV[3].z * u_xlat0.w + u_xlat0.x;
					    vs_TEXCOORD2.z = (-u_xlat0.x);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD2.w = u_xlat1.w;
					    vs_TEXCOORD2.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SOFTPARTICLES_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[313];
						vec4 _MainTex_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_2_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[12];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_4[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_6;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_COLOR0;
					in  vec2 in_TEXCOORD0;
					out vec4 vs_COLOR0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD2;
					vec4 u_xlat0;
					vec2 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					float u_xlat3;
					int u_xlati6;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    gl_Position = u_xlat2;
					    vs_COLOR0 = in_COLOR0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = u_xlat0.y * unity_StereoMatrixV[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4].z;
					    u_xlat0.x = unity_StereoMatrixV[u_xlati1 / 4][u_xlati1 % 4].z * u_xlat0.x + u_xlat3;
					    u_xlat0.x = unity_StereoMatrixV[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4].z * u_xlat0.z + u_xlat0.x;
					    u_xlat0.x = unity_StereoMatrixV[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4].z * u_xlat0.w + u_xlat0.x;
					    vs_TEXCOORD2.z = (-u_xlat0.x);
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati6].zw;
					    vs_TEXCOORD2.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati6].xy + u_xlat1.xy;
					    vs_TEXCOORD2.w = u_xlat2.w;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[307];
						vec4 SliceSettings;
						vec4 unused_0_2[3];
						float particleDensity;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _MainTex;
					in  vec4 vs_COLOR0;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD2;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					vec3 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					float u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD2.z / SliceSettings.x;
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * SliceSettings.y;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2 = SliceSettings.z + -1.0;
					    u_xlat4 = u_xlat2 * u_xlat0.x;
					    u_xlat4 = min(abs(u_xlat4), 1.0);
					    u_xlat4 = (-u_xlat4) + 1.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat6 = u_xlat1.w * particleDensity;
					    u_xlat6 = u_xlat6 * vs_COLOR0.w;
					    SV_Target0.x = u_xlat6 * u_xlat4 + 0.5;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-1.0, -2.0, -3.0, -4.0);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target0.yzw = vec3(u_xlat6) * u_xlat1.xyz + vec3(0.5, 0.5, 0.5);
					    SV_Target1.x = u_xlat6 * u_xlat1.w + 0.5;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-5.0, -6.0, -7.0, -8.0);
					    u_xlat0.xyz = u_xlat0.xxx * vec3(u_xlat2) + vec3(-9.0, -10.0, -11.0);
					    u_xlat0.xyz = min(abs(u_xlat0.xyz), vec3(1.0, 1.0, 1.0));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    SV_Target2.yzw = vec3(u_xlat6) * u_xlat0.xyz + vec3(0.5, 0.5, 0.5);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target1.yzw = vec3(u_xlat6) * u_xlat1.xyz + vec3(0.5, 0.5, 0.5);
					    SV_Target2.x = u_xlat6 * u_xlat1.w + 0.5;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[307];
						vec4 SliceSettings;
						vec4 unused_0_2[3];
						float particleDensity;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _MainTex;
					in  vec4 vs_COLOR0;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD2;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					vec3 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					float u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD2.z / SliceSettings.x;
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * SliceSettings.y;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2 = SliceSettings.z + -1.0;
					    u_xlat4 = u_xlat2 * u_xlat0.x;
					    u_xlat4 = min(abs(u_xlat4), 1.0);
					    u_xlat4 = (-u_xlat4) + 1.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat6 = u_xlat1.w * particleDensity;
					    u_xlat6 = u_xlat6 * vs_COLOR0.w;
					    SV_Target0.x = u_xlat6 * u_xlat4 + 0.5;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-1.0, -2.0, -3.0, -4.0);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target0.yzw = vec3(u_xlat6) * u_xlat1.xyz + vec3(0.5, 0.5, 0.5);
					    SV_Target1.x = u_xlat6 * u_xlat1.w + 0.5;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-5.0, -6.0, -7.0, -8.0);
					    u_xlat0.xyz = u_xlat0.xxx * vec3(u_xlat2) + vec3(-9.0, -10.0, -11.0);
					    u_xlat0.xyz = min(abs(u_xlat0.xyz), vec3(1.0, 1.0, 1.0));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    SV_Target2.yzw = vec3(u_xlat6) * u_xlat0.xyz + vec3(0.5, 0.5, 0.5);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target1.yzw = vec3(u_xlat6) * u_xlat1.xyz + vec3(0.5, 0.5, 0.5);
					    SV_Target2.x = u_xlat6 * u_xlat1.w + 0.5;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SOFTPARTICLES_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[307];
						vec4 SliceSettings;
						vec4 unused_0_2[3];
						float particleDensity;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _MainTex;
					in  vec4 vs_COLOR0;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD2;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					vec3 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					float u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD2.z / SliceSettings.x;
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * SliceSettings.y;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2 = SliceSettings.z + -1.0;
					    u_xlat4 = u_xlat2 * u_xlat0.x;
					    u_xlat4 = min(abs(u_xlat4), 1.0);
					    u_xlat4 = (-u_xlat4) + 1.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat6 = u_xlat1.w * particleDensity;
					    u_xlat6 = u_xlat6 * vs_COLOR0.w;
					    SV_Target0.x = u_xlat6 * u_xlat4 + 0.5;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-1.0, -2.0, -3.0, -4.0);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target0.yzw = vec3(u_xlat6) * u_xlat1.xyz + vec3(0.5, 0.5, 0.5);
					    SV_Target1.x = u_xlat6 * u_xlat1.w + 0.5;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-5.0, -6.0, -7.0, -8.0);
					    u_xlat0.xyz = u_xlat0.xxx * vec3(u_xlat2) + vec3(-9.0, -10.0, -11.0);
					    u_xlat0.xyz = min(abs(u_xlat0.xyz), vec3(1.0, 1.0, 1.0));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    SV_Target2.yzw = vec3(u_xlat6) * u_xlat0.xyz + vec3(0.5, 0.5, 0.5);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target1.yzw = vec3(u_xlat6) * u_xlat1.xyz + vec3(0.5, 0.5, 0.5);
					    SV_Target2.x = u_xlat6 * u_xlat1.w + 0.5;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SOFTPARTICLES_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[307];
						vec4 SliceSettings;
						vec4 unused_0_2[3];
						float particleDensity;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _MainTex;
					in  vec4 vs_COLOR0;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD2;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					vec3 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					float u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD2.z / SliceSettings.x;
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * SliceSettings.y;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2 = SliceSettings.z + -1.0;
					    u_xlat4 = u_xlat2 * u_xlat0.x;
					    u_xlat4 = min(abs(u_xlat4), 1.0);
					    u_xlat4 = (-u_xlat4) + 1.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat6 = u_xlat1.w * particleDensity;
					    u_xlat6 = u_xlat6 * vs_COLOR0.w;
					    SV_Target0.x = u_xlat6 * u_xlat4 + 0.5;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-1.0, -2.0, -3.0, -4.0);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target0.yzw = vec3(u_xlat6) * u_xlat1.xyz + vec3(0.5, 0.5, 0.5);
					    SV_Target1.x = u_xlat6 * u_xlat1.w + 0.5;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-5.0, -6.0, -7.0, -8.0);
					    u_xlat0.xyz = u_xlat0.xxx * vec3(u_xlat2) + vec3(-9.0, -10.0, -11.0);
					    u_xlat0.xyz = min(abs(u_xlat0.xyz), vec3(1.0, 1.0, 1.0));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    SV_Target2.yzw = vec3(u_xlat6) * u_xlat0.xyz + vec3(0.5, 0.5, 0.5);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target1.yzw = vec3(u_xlat6) * u_xlat1.xyz + vec3(0.5, 0.5, 0.5);
					    SV_Target2.x = u_xlat6 * u_xlat1.w + 0.5;
					    return;
					}"
				}
			}
		}
		Pass {
			Tags { "IGNOREPROJECTOR" = "true" "QUEUE" = "Transparent" "RenderType" = "Transparent" }
			Blend One One, One One
			ZTest Always
			ZWrite Off
			Cull Off
			GpuProgramID 128013
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[313];
						vec4 _MainTex_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_2_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_3_2[4];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_4[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_COLOR0;
					in  vec2 in_TEXCOORD0;
					out vec4 vs_COLOR0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD2;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_COLOR0 = in_COLOR0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = u_xlat0.y * unity_MatrixV[1].z;
					    u_xlat0.x = unity_MatrixV[0].z * u_xlat0.x + u_xlat2;
					    u_xlat0.x = unity_MatrixV[2].z * u_xlat0.z + u_xlat0.x;
					    u_xlat0.x = unity_MatrixV[3].z * u_xlat0.w + u_xlat0.x;
					    vs_TEXCOORD2.z = (-u_xlat0.x);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD2.w = u_xlat1.w;
					    vs_TEXCOORD2.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[313];
						vec4 _MainTex_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_2_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[12];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_4[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_6;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_COLOR0;
					in  vec2 in_TEXCOORD0;
					out vec4 vs_COLOR0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD2;
					vec4 u_xlat0;
					vec2 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					float u_xlat3;
					int u_xlati6;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    gl_Position = u_xlat2;
					    vs_COLOR0 = in_COLOR0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = u_xlat0.y * unity_StereoMatrixV[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4].z;
					    u_xlat0.x = unity_StereoMatrixV[u_xlati1 / 4][u_xlati1 % 4].z * u_xlat0.x + u_xlat3;
					    u_xlat0.x = unity_StereoMatrixV[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4].z * u_xlat0.z + u_xlat0.x;
					    u_xlat0.x = unity_StereoMatrixV[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4].z * u_xlat0.w + u_xlat0.x;
					    vs_TEXCOORD2.z = (-u_xlat0.x);
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati6].zw;
					    vs_TEXCOORD2.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati6].xy + u_xlat1.xy;
					    vs_TEXCOORD2.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SOFTPARTICLES_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[313];
						vec4 _MainTex_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_2_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_3_2[4];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_4[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_COLOR0;
					in  vec2 in_TEXCOORD0;
					out vec4 vs_COLOR0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD2;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_COLOR0 = in_COLOR0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = u_xlat0.y * unity_MatrixV[1].z;
					    u_xlat0.x = unity_MatrixV[0].z * u_xlat0.x + u_xlat2;
					    u_xlat0.x = unity_MatrixV[2].z * u_xlat0.z + u_xlat0.x;
					    u_xlat0.x = unity_MatrixV[3].z * u_xlat0.w + u_xlat0.x;
					    vs_TEXCOORD2.z = (-u_xlat0.x);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD2.w = u_xlat1.w;
					    vs_TEXCOORD2.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SOFTPARTICLES_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[313];
						vec4 _MainTex_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_2_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[12];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_4[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_6;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_COLOR0;
					in  vec2 in_TEXCOORD0;
					out vec4 vs_COLOR0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD2;
					vec4 u_xlat0;
					vec2 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					float u_xlat3;
					int u_xlati6;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    gl_Position = u_xlat2;
					    vs_COLOR0 = in_COLOR0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = u_xlat0.y * unity_StereoMatrixV[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4].z;
					    u_xlat0.x = unity_StereoMatrixV[u_xlati1 / 4][u_xlati1 % 4].z * u_xlat0.x + u_xlat3;
					    u_xlat0.x = unity_StereoMatrixV[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4].z * u_xlat0.z + u_xlat0.x;
					    u_xlat0.x = unity_StereoMatrixV[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4].z * u_xlat0.w + u_xlat0.x;
					    vs_TEXCOORD2.z = (-u_xlat0.x);
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati6].zw;
					    vs_TEXCOORD2.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati6].xy + u_xlat1.xy;
					    vs_TEXCOORD2.w = u_xlat2.w;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[307];
						vec4 SliceSettings;
						vec4 unused_0_2[3];
						float particleDensity;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _MainTex;
					in  vec4 vs_COLOR0;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD2;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					vec3 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					float u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD2.z / SliceSettings.x;
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * SliceSettings.y;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2 = SliceSettings.z + -1.0;
					    u_xlat4 = u_xlat2 * u_xlat0.x;
					    u_xlat4 = min(abs(u_xlat4), 1.0);
					    u_xlat4 = (-u_xlat4) + 1.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat6 = u_xlat1.w * particleDensity;
					    u_xlat6 = u_xlat6 * vs_COLOR0.w;
					    SV_Target0.x = u_xlat4 * u_xlat6;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-1.0, -2.0, -3.0, -4.0);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target0.yzw = vec3(u_xlat6) * u_xlat1.xyz;
					    SV_Target1.x = u_xlat6 * u_xlat1.w;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-5.0, -6.0, -7.0, -8.0);
					    u_xlat0.xyz = u_xlat0.xxx * vec3(u_xlat2) + vec3(-9.0, -10.0, -11.0);
					    u_xlat0.xyz = min(abs(u_xlat0.xyz), vec3(1.0, 1.0, 1.0));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    SV_Target2.yzw = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target1.yzw = vec3(u_xlat6) * u_xlat1.xyz;
					    SV_Target2.x = u_xlat6 * u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[307];
						vec4 SliceSettings;
						vec4 unused_0_2[3];
						float particleDensity;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _MainTex;
					in  vec4 vs_COLOR0;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD2;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					vec3 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					float u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD2.z / SliceSettings.x;
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * SliceSettings.y;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2 = SliceSettings.z + -1.0;
					    u_xlat4 = u_xlat2 * u_xlat0.x;
					    u_xlat4 = min(abs(u_xlat4), 1.0);
					    u_xlat4 = (-u_xlat4) + 1.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat6 = u_xlat1.w * particleDensity;
					    u_xlat6 = u_xlat6 * vs_COLOR0.w;
					    SV_Target0.x = u_xlat4 * u_xlat6;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-1.0, -2.0, -3.0, -4.0);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target0.yzw = vec3(u_xlat6) * u_xlat1.xyz;
					    SV_Target1.x = u_xlat6 * u_xlat1.w;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-5.0, -6.0, -7.0, -8.0);
					    u_xlat0.xyz = u_xlat0.xxx * vec3(u_xlat2) + vec3(-9.0, -10.0, -11.0);
					    u_xlat0.xyz = min(abs(u_xlat0.xyz), vec3(1.0, 1.0, 1.0));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    SV_Target2.yzw = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target1.yzw = vec3(u_xlat6) * u_xlat1.xyz;
					    SV_Target2.x = u_xlat6 * u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SOFTPARTICLES_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[307];
						vec4 SliceSettings;
						vec4 unused_0_2[3];
						float particleDensity;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _MainTex;
					in  vec4 vs_COLOR0;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD2;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					vec3 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					float u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD2.z / SliceSettings.x;
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * SliceSettings.y;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2 = SliceSettings.z + -1.0;
					    u_xlat4 = u_xlat2 * u_xlat0.x;
					    u_xlat4 = min(abs(u_xlat4), 1.0);
					    u_xlat4 = (-u_xlat4) + 1.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat6 = u_xlat1.w * particleDensity;
					    u_xlat6 = u_xlat6 * vs_COLOR0.w;
					    SV_Target0.x = u_xlat4 * u_xlat6;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-1.0, -2.0, -3.0, -4.0);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target0.yzw = vec3(u_xlat6) * u_xlat1.xyz;
					    SV_Target1.x = u_xlat6 * u_xlat1.w;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-5.0, -6.0, -7.0, -8.0);
					    u_xlat0.xyz = u_xlat0.xxx * vec3(u_xlat2) + vec3(-9.0, -10.0, -11.0);
					    u_xlat0.xyz = min(abs(u_xlat0.xyz), vec3(1.0, 1.0, 1.0));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    SV_Target2.yzw = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target1.yzw = vec3(u_xlat6) * u_xlat1.xyz;
					    SV_Target2.x = u_xlat6 * u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SOFTPARTICLES_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[307];
						vec4 SliceSettings;
						vec4 unused_0_2[3];
						float particleDensity;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _MainTex;
					in  vec4 vs_COLOR0;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD2;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					vec3 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					float u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD2.z / SliceSettings.x;
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * SliceSettings.y;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2 = SliceSettings.z + -1.0;
					    u_xlat4 = u_xlat2 * u_xlat0.x;
					    u_xlat4 = min(abs(u_xlat4), 1.0);
					    u_xlat4 = (-u_xlat4) + 1.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat6 = u_xlat1.w * particleDensity;
					    u_xlat6 = u_xlat6 * vs_COLOR0.w;
					    SV_Target0.x = u_xlat4 * u_xlat6;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-1.0, -2.0, -3.0, -4.0);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target0.yzw = vec3(u_xlat6) * u_xlat1.xyz;
					    SV_Target1.x = u_xlat6 * u_xlat1.w;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-5.0, -6.0, -7.0, -8.0);
					    u_xlat0.xyz = u_xlat0.xxx * vec3(u_xlat2) + vec3(-9.0, -10.0, -11.0);
					    u_xlat0.xyz = min(abs(u_xlat0.xyz), vec3(1.0, 1.0, 1.0));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    SV_Target2.yzw = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target1.yzw = vec3(u_xlat6) * u_xlat1.xyz;
					    SV_Target2.x = u_xlat6 * u_xlat1.w;
					    return;
					}"
				}
			}
		}
		Pass {
			Tags { "IGNOREPROJECTOR" = "true" "QUEUE" = "Transparent" "RenderType" = "Transparent" }
			Blend One One, One One
			BlendOp Min, Min
			ZTest Always
			ZWrite Off
			Cull Off
			GpuProgramID 168014
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[313];
						vec4 _MainTex_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_2_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_3_2[4];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_4[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_COLOR0;
					in  vec2 in_TEXCOORD0;
					out vec4 vs_COLOR0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD2;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_COLOR0 = in_COLOR0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = u_xlat0.y * unity_MatrixV[1].z;
					    u_xlat0.x = unity_MatrixV[0].z * u_xlat0.x + u_xlat2;
					    u_xlat0.x = unity_MatrixV[2].z * u_xlat0.z + u_xlat0.x;
					    u_xlat0.x = unity_MatrixV[3].z * u_xlat0.w + u_xlat0.x;
					    vs_TEXCOORD2.z = (-u_xlat0.x);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD2.w = u_xlat1.w;
					    vs_TEXCOORD2.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[313];
						vec4 _MainTex_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_2_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[12];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_4[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_6;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_COLOR0;
					in  vec2 in_TEXCOORD0;
					out vec4 vs_COLOR0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD2;
					vec4 u_xlat0;
					vec2 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					float u_xlat3;
					int u_xlati6;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    gl_Position = u_xlat2;
					    vs_COLOR0 = in_COLOR0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = u_xlat0.y * unity_StereoMatrixV[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4].z;
					    u_xlat0.x = unity_StereoMatrixV[u_xlati1 / 4][u_xlati1 % 4].z * u_xlat0.x + u_xlat3;
					    u_xlat0.x = unity_StereoMatrixV[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4].z * u_xlat0.z + u_xlat0.x;
					    u_xlat0.x = unity_StereoMatrixV[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4].z * u_xlat0.w + u_xlat0.x;
					    vs_TEXCOORD2.z = (-u_xlat0.x);
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati6].zw;
					    vs_TEXCOORD2.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati6].xy + u_xlat1.xy;
					    vs_TEXCOORD2.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SOFTPARTICLES_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[313];
						vec4 _MainTex_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_2_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_3_2[4];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_4[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_COLOR0;
					in  vec2 in_TEXCOORD0;
					out vec4 vs_COLOR0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD2;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_COLOR0 = in_COLOR0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = u_xlat0.y * unity_MatrixV[1].z;
					    u_xlat0.x = unity_MatrixV[0].z * u_xlat0.x + u_xlat2;
					    u_xlat0.x = unity_MatrixV[2].z * u_xlat0.z + u_xlat0.x;
					    u_xlat0.x = unity_MatrixV[3].z * u_xlat0.w + u_xlat0.x;
					    vs_TEXCOORD2.z = (-u_xlat0.x);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD2.w = u_xlat1.w;
					    vs_TEXCOORD2.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SOFTPARTICLES_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[313];
						vec4 _MainTex_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_2_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[12];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_4[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_6;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_COLOR0;
					in  vec2 in_TEXCOORD0;
					out vec4 vs_COLOR0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD2;
					vec4 u_xlat0;
					vec2 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					float u_xlat3;
					int u_xlati6;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    gl_Position = u_xlat2;
					    vs_COLOR0 = in_COLOR0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = u_xlat0.y * unity_StereoMatrixV[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4].z;
					    u_xlat0.x = unity_StereoMatrixV[u_xlati1 / 4][u_xlati1 % 4].z * u_xlat0.x + u_xlat3;
					    u_xlat0.x = unity_StereoMatrixV[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4].z * u_xlat0.z + u_xlat0.x;
					    u_xlat0.x = unity_StereoMatrixV[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4].z * u_xlat0.w + u_xlat0.x;
					    vs_TEXCOORD2.z = (-u_xlat0.x);
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati6].zw;
					    vs_TEXCOORD2.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati6].xy + u_xlat1.xy;
					    vs_TEXCOORD2.w = u_xlat2.w;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[307];
						vec4 SliceSettings;
						vec4 unused_0_2[3];
						float particleDensity;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _MainTex;
					in  vec4 vs_COLOR0;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD2;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					vec3 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					float u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD2.z / SliceSettings.x;
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * SliceSettings.y;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2 = SliceSettings.z + -1.0;
					    u_xlat4 = u_xlat2 * u_xlat0.x;
					    u_xlat4 = min(abs(u_xlat4), 1.0);
					    u_xlat4 = (-u_xlat4) + 1.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat6 = u_xlat1.w * particleDensity;
					    u_xlat6 = u_xlat6 * vs_COLOR0.w;
					    SV_Target0.x = (-u_xlat6) * u_xlat4 + 1.0;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-1.0, -2.0, -3.0, -4.0);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target0.yzw = (-vec3(u_xlat6)) * u_xlat1.xyz + vec3(1.0, 1.0, 1.0);
					    SV_Target1.x = (-u_xlat6) * u_xlat1.w + 1.0;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-5.0, -6.0, -7.0, -8.0);
					    u_xlat0.xyz = u_xlat0.xxx * vec3(u_xlat2) + vec3(-9.0, -10.0, -11.0);
					    u_xlat0.xyz = min(abs(u_xlat0.xyz), vec3(1.0, 1.0, 1.0));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    SV_Target2.yzw = (-vec3(u_xlat6)) * u_xlat0.xyz + vec3(1.0, 1.0, 1.0);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target1.yzw = (-vec3(u_xlat6)) * u_xlat1.xyz + vec3(1.0, 1.0, 1.0);
					    SV_Target2.x = (-u_xlat6) * u_xlat1.w + 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[307];
						vec4 SliceSettings;
						vec4 unused_0_2[3];
						float particleDensity;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _MainTex;
					in  vec4 vs_COLOR0;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD2;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					vec3 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					float u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD2.z / SliceSettings.x;
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * SliceSettings.y;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2 = SliceSettings.z + -1.0;
					    u_xlat4 = u_xlat2 * u_xlat0.x;
					    u_xlat4 = min(abs(u_xlat4), 1.0);
					    u_xlat4 = (-u_xlat4) + 1.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat6 = u_xlat1.w * particleDensity;
					    u_xlat6 = u_xlat6 * vs_COLOR0.w;
					    SV_Target0.x = (-u_xlat6) * u_xlat4 + 1.0;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-1.0, -2.0, -3.0, -4.0);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target0.yzw = (-vec3(u_xlat6)) * u_xlat1.xyz + vec3(1.0, 1.0, 1.0);
					    SV_Target1.x = (-u_xlat6) * u_xlat1.w + 1.0;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-5.0, -6.0, -7.0, -8.0);
					    u_xlat0.xyz = u_xlat0.xxx * vec3(u_xlat2) + vec3(-9.0, -10.0, -11.0);
					    u_xlat0.xyz = min(abs(u_xlat0.xyz), vec3(1.0, 1.0, 1.0));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    SV_Target2.yzw = (-vec3(u_xlat6)) * u_xlat0.xyz + vec3(1.0, 1.0, 1.0);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target1.yzw = (-vec3(u_xlat6)) * u_xlat1.xyz + vec3(1.0, 1.0, 1.0);
					    SV_Target2.x = (-u_xlat6) * u_xlat1.w + 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SOFTPARTICLES_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[307];
						vec4 SliceSettings;
						vec4 unused_0_2[3];
						float particleDensity;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _MainTex;
					in  vec4 vs_COLOR0;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD2;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					vec3 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					float u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD2.z / SliceSettings.x;
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * SliceSettings.y;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2 = SliceSettings.z + -1.0;
					    u_xlat4 = u_xlat2 * u_xlat0.x;
					    u_xlat4 = min(abs(u_xlat4), 1.0);
					    u_xlat4 = (-u_xlat4) + 1.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat6 = u_xlat1.w * particleDensity;
					    u_xlat6 = u_xlat6 * vs_COLOR0.w;
					    SV_Target0.x = (-u_xlat6) * u_xlat4 + 1.0;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-1.0, -2.0, -3.0, -4.0);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target0.yzw = (-vec3(u_xlat6)) * u_xlat1.xyz + vec3(1.0, 1.0, 1.0);
					    SV_Target1.x = (-u_xlat6) * u_xlat1.w + 1.0;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-5.0, -6.0, -7.0, -8.0);
					    u_xlat0.xyz = u_xlat0.xxx * vec3(u_xlat2) + vec3(-9.0, -10.0, -11.0);
					    u_xlat0.xyz = min(abs(u_xlat0.xyz), vec3(1.0, 1.0, 1.0));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    SV_Target2.yzw = (-vec3(u_xlat6)) * u_xlat0.xyz + vec3(1.0, 1.0, 1.0);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target1.yzw = (-vec3(u_xlat6)) * u_xlat1.xyz + vec3(1.0, 1.0, 1.0);
					    SV_Target2.x = (-u_xlat6) * u_xlat1.w + 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SOFTPARTICLES_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[307];
						vec4 SliceSettings;
						vec4 unused_0_2[3];
						float particleDensity;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _MainTex;
					in  vec4 vs_COLOR0;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD2;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					vec3 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					float u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD2.z / SliceSettings.x;
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * SliceSettings.y;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2 = SliceSettings.z + -1.0;
					    u_xlat4 = u_xlat2 * u_xlat0.x;
					    u_xlat4 = min(abs(u_xlat4), 1.0);
					    u_xlat4 = (-u_xlat4) + 1.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat6 = u_xlat1.w * particleDensity;
					    u_xlat6 = u_xlat6 * vs_COLOR0.w;
					    SV_Target0.x = (-u_xlat6) * u_xlat4 + 1.0;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-1.0, -2.0, -3.0, -4.0);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target0.yzw = (-vec3(u_xlat6)) * u_xlat1.xyz + vec3(1.0, 1.0, 1.0);
					    SV_Target1.x = (-u_xlat6) * u_xlat1.w + 1.0;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-5.0, -6.0, -7.0, -8.0);
					    u_xlat0.xyz = u_xlat0.xxx * vec3(u_xlat2) + vec3(-9.0, -10.0, -11.0);
					    u_xlat0.xyz = min(abs(u_xlat0.xyz), vec3(1.0, 1.0, 1.0));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    SV_Target2.yzw = (-vec3(u_xlat6)) * u_xlat0.xyz + vec3(1.0, 1.0, 1.0);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target1.yzw = (-vec3(u_xlat6)) * u_xlat1.xyz + vec3(1.0, 1.0, 1.0);
					    SV_Target2.x = (-u_xlat6) * u_xlat1.w + 1.0;
					    return;
					}"
				}
			}
		}
		Pass {
			Tags { "IGNOREPROJECTOR" = "true" "QUEUE" = "Transparent" "RenderType" = "Transparent" }
			Blend One One, One One
			BlendOp RevSub, RevSub
			ZTest Always
			ZWrite Off
			Cull Off
			GpuProgramID 219522
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[313];
						vec4 _MainTex_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_2_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_3_2[4];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_4[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_COLOR0;
					in  vec2 in_TEXCOORD0;
					out vec4 vs_COLOR0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD2;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_COLOR0 = in_COLOR0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = u_xlat0.y * unity_MatrixV[1].z;
					    u_xlat0.x = unity_MatrixV[0].z * u_xlat0.x + u_xlat2;
					    u_xlat0.x = unity_MatrixV[2].z * u_xlat0.z + u_xlat0.x;
					    u_xlat0.x = unity_MatrixV[3].z * u_xlat0.w + u_xlat0.x;
					    vs_TEXCOORD2.z = (-u_xlat0.x);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD2.w = u_xlat1.w;
					    vs_TEXCOORD2.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[313];
						vec4 _MainTex_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_2_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[12];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_4[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_6;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_COLOR0;
					in  vec2 in_TEXCOORD0;
					out vec4 vs_COLOR0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD2;
					vec4 u_xlat0;
					vec2 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					float u_xlat3;
					int u_xlati6;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    gl_Position = u_xlat2;
					    vs_COLOR0 = in_COLOR0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = u_xlat0.y * unity_StereoMatrixV[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4].z;
					    u_xlat0.x = unity_StereoMatrixV[u_xlati1 / 4][u_xlati1 % 4].z * u_xlat0.x + u_xlat3;
					    u_xlat0.x = unity_StereoMatrixV[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4].z * u_xlat0.z + u_xlat0.x;
					    u_xlat0.x = unity_StereoMatrixV[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4].z * u_xlat0.w + u_xlat0.x;
					    vs_TEXCOORD2.z = (-u_xlat0.x);
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati6].zw;
					    vs_TEXCOORD2.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati6].xy + u_xlat1.xy;
					    vs_TEXCOORD2.w = u_xlat2.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SOFTPARTICLES_ON" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[313];
						vec4 _MainTex_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[5];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_2_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_3_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_3_2[4];
						mat4x4 unity_MatrixVP;
						vec4 unused_3_4[2];
					};
					in  vec4 in_POSITION0;
					in  vec4 in_COLOR0;
					in  vec2 in_TEXCOORD0;
					out vec4 vs_COLOR0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD2;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    u_xlat1 = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    gl_Position = u_xlat1;
					    vs_COLOR0 = in_COLOR0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat2 = u_xlat0.y * unity_MatrixV[1].z;
					    u_xlat0.x = unity_MatrixV[0].z * u_xlat0.x + u_xlat2;
					    u_xlat0.x = unity_MatrixV[2].z * u_xlat0.z + u_xlat0.x;
					    u_xlat0.x = unity_MatrixV[3].z * u_xlat0.w + u_xlat0.x;
					    vs_TEXCOORD2.z = (-u_xlat0.x);
					    u_xlat0.x = u_xlat1.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat1.xw * vec2(0.5, 0.5);
					    vs_TEXCOORD2.w = u_xlat1.w;
					    vs_TEXCOORD2.xy = u_xlat0.zz + u_xlat0.xw;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SOFTPARTICLES_ON" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform VGlobals {
						vec4 unused_0_0[313];
						vec4 _MainTex_ST;
						vec4 unused_0_2;
					};
					layout(std140) uniform UnityPerCamera {
						vec4 unused_1_0[4];
						vec4 _ProjectionParams;
						vec4 unused_1_2[3];
					};
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_2_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_3_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_3_2[12];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_3_4[38];
						vec4 unity_StereoScaleOffset[2];
						vec4 unused_3_6;
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec4 in_COLOR0;
					in  vec2 in_TEXCOORD0;
					out vec4 vs_COLOR0;
					out vec2 vs_TEXCOORD0;
					out vec4 vs_TEXCOORD2;
					vec4 u_xlat0;
					vec2 u_xlat1;
					int u_xlati1;
					vec4 u_xlat2;
					float u_xlat3;
					int u_xlati6;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    gl_Position = u_xlat2;
					    vs_COLOR0 = in_COLOR0;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
					    u_xlat3 = u_xlat0.y * unity_StereoMatrixV[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4].z;
					    u_xlat0.x = unity_StereoMatrixV[u_xlati1 / 4][u_xlati1 % 4].z * u_xlat0.x + u_xlat3;
					    u_xlat0.x = unity_StereoMatrixV[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4].z * u_xlat0.z + u_xlat0.x;
					    u_xlat0.x = unity_StereoMatrixV[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4].z * u_xlat0.w + u_xlat0.x;
					    vs_TEXCOORD2.z = (-u_xlat0.x);
					    u_xlat0.x = u_xlat2.y * _ProjectionParams.x;
					    u_xlat0.w = u_xlat0.x * 0.5;
					    u_xlat0.xz = u_xlat2.xw * vec2(0.5, 0.5);
					    u_xlat0.xy = u_xlat0.zz + u_xlat0.xw;
					    u_xlati6 = unity_StereoEyeIndex;
					    u_xlat1.xy = u_xlat2.ww * unity_StereoScaleOffset[u_xlati6].zw;
					    vs_TEXCOORD2.xy = u_xlat0.xy * unity_StereoScaleOffset[u_xlati6].xy + u_xlat1.xy;
					    vs_TEXCOORD2.w = u_xlat2.w;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[307];
						vec4 SliceSettings;
						vec4 unused_0_2[3];
						float particleDensity;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _MainTex;
					in  vec4 vs_COLOR0;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD2;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					vec3 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					float u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD2.z / SliceSettings.x;
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * SliceSettings.y;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2 = SliceSettings.z + -1.0;
					    u_xlat4 = u_xlat2 * u_xlat0.x;
					    u_xlat4 = min(abs(u_xlat4), 1.0);
					    u_xlat4 = (-u_xlat4) + 1.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat6 = u_xlat1.w * particleDensity;
					    u_xlat6 = u_xlat6 * vs_COLOR0.w;
					    SV_Target0.x = u_xlat4 * u_xlat6;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-1.0, -2.0, -3.0, -4.0);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target0.yzw = vec3(u_xlat6) * u_xlat1.xyz;
					    SV_Target1.x = u_xlat6 * u_xlat1.w;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-5.0, -6.0, -7.0, -8.0);
					    u_xlat0.xyz = u_xlat0.xxx * vec3(u_xlat2) + vec3(-9.0, -10.0, -11.0);
					    u_xlat0.xyz = min(abs(u_xlat0.xyz), vec3(1.0, 1.0, 1.0));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    SV_Target2.yzw = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target1.yzw = vec3(u_xlat6) * u_xlat1.xyz;
					    SV_Target2.x = u_xlat6 * u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[307];
						vec4 SliceSettings;
						vec4 unused_0_2[3];
						float particleDensity;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _MainTex;
					in  vec4 vs_COLOR0;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD2;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					vec3 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					float u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD2.z / SliceSettings.x;
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * SliceSettings.y;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2 = SliceSettings.z + -1.0;
					    u_xlat4 = u_xlat2 * u_xlat0.x;
					    u_xlat4 = min(abs(u_xlat4), 1.0);
					    u_xlat4 = (-u_xlat4) + 1.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat6 = u_xlat1.w * particleDensity;
					    u_xlat6 = u_xlat6 * vs_COLOR0.w;
					    SV_Target0.x = u_xlat4 * u_xlat6;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-1.0, -2.0, -3.0, -4.0);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target0.yzw = vec3(u_xlat6) * u_xlat1.xyz;
					    SV_Target1.x = u_xlat6 * u_xlat1.w;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-5.0, -6.0, -7.0, -8.0);
					    u_xlat0.xyz = u_xlat0.xxx * vec3(u_xlat2) + vec3(-9.0, -10.0, -11.0);
					    u_xlat0.xyz = min(abs(u_xlat0.xyz), vec3(1.0, 1.0, 1.0));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    SV_Target2.yzw = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target1.yzw = vec3(u_xlat6) * u_xlat1.xyz;
					    SV_Target2.x = u_xlat6 * u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SOFTPARTICLES_ON" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[307];
						vec4 SliceSettings;
						vec4 unused_0_2[3];
						float particleDensity;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _MainTex;
					in  vec4 vs_COLOR0;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD2;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					vec3 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					float u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD2.z / SliceSettings.x;
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * SliceSettings.y;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2 = SliceSettings.z + -1.0;
					    u_xlat4 = u_xlat2 * u_xlat0.x;
					    u_xlat4 = min(abs(u_xlat4), 1.0);
					    u_xlat4 = (-u_xlat4) + 1.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat6 = u_xlat1.w * particleDensity;
					    u_xlat6 = u_xlat6 * vs_COLOR0.w;
					    SV_Target0.x = u_xlat4 * u_xlat6;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-1.0, -2.0, -3.0, -4.0);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target0.yzw = vec3(u_xlat6) * u_xlat1.xyz;
					    SV_Target1.x = u_xlat6 * u_xlat1.w;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-5.0, -6.0, -7.0, -8.0);
					    u_xlat0.xyz = u_xlat0.xxx * vec3(u_xlat2) + vec3(-9.0, -10.0, -11.0);
					    u_xlat0.xyz = min(abs(u_xlat0.xyz), vec3(1.0, 1.0, 1.0));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    SV_Target2.yzw = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target1.yzw = vec3(u_xlat6) * u_xlat1.xyz;
					    SV_Target2.x = u_xlat6 * u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "SOFTPARTICLES_ON" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[307];
						vec4 SliceSettings;
						vec4 unused_0_2[3];
						float particleDensity;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _MainTex;
					in  vec4 vs_COLOR0;
					in  vec2 vs_TEXCOORD0;
					in  vec4 vs_TEXCOORD2;
					layout(location = 0) out vec4 SV_Target0;
					layout(location = 1) out vec4 SV_Target1;
					layout(location = 2) out vec4 SV_Target2;
					vec3 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					float u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = vs_TEXCOORD2.z / SliceSettings.x;
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * SliceSettings.y;
					    u_xlat0.x = exp2(u_xlat0.x);
					    u_xlat2 = SliceSettings.z + -1.0;
					    u_xlat4 = u_xlat2 * u_xlat0.x;
					    u_xlat4 = min(abs(u_xlat4), 1.0);
					    u_xlat4 = (-u_xlat4) + 1.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat6 = u_xlat1.w * particleDensity;
					    u_xlat6 = u_xlat6 * vs_COLOR0.w;
					    SV_Target0.x = u_xlat4 * u_xlat6;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-1.0, -2.0, -3.0, -4.0);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target0.yzw = vec3(u_xlat6) * u_xlat1.xyz;
					    SV_Target1.x = u_xlat6 * u_xlat1.w;
					    u_xlat1 = u_xlat0.xxxx * vec4(u_xlat2) + vec4(-5.0, -6.0, -7.0, -8.0);
					    u_xlat0.xyz = u_xlat0.xxx * vec3(u_xlat2) + vec3(-9.0, -10.0, -11.0);
					    u_xlat0.xyz = min(abs(u_xlat0.xyz), vec3(1.0, 1.0, 1.0));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    SV_Target2.yzw = u_xlat0.xyz * vec3(u_xlat6);
					    u_xlat1 = min(abs(u_xlat1), vec4(1.0, 1.0, 1.0, 1.0));
					    u_xlat1 = (-u_xlat1) + vec4(1.0, 1.0, 1.0, 1.0);
					    SV_Target1.yzw = vec3(u_xlat6) * u_xlat1.xyz;
					    SV_Target2.x = u_xlat6 * u_xlat1.w;
					    return;
					}"
				}
			}
		}
	}
}