Shader "VRTK/OutlineBasic" {
	Properties {
		_OutlineColor ("Outline Color", Vector) = (1,0,0,1)
		_Thickness ("Thickness", Float) = 1
	}
	SubShader {
		Tags { "IGNOREPROJECTOR" = "true" "QUEUE" = "Transparent" "RenderType" = "Transparent" }
		Pass {
			Tags { "IGNOREPROJECTOR" = "true" "QUEUE" = "Transparent" "RenderType" = "Transparent" }
			ColorMask 0 -1
			Stencil {
				Ref 1
				Comp Always
				Pass Replace
				Fail Keep
				ZFail Replace
			}
			Fog {
				Mode Off
			}
			GpuProgramID 77375
			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 UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec3 in_POSITION0;
					in  vec4 in_COLOR0;
					out vec4 vs_COLOR0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    vs_COLOR0 = in_COLOR0;
					    vs_COLOR0 = clamp(vs_COLOR0, 0.0, 1.0);
					    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;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    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 UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec3 in_POSITION0;
					in  vec4 in_COLOR0;
					out vec4 vs_COLOR0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    vs_COLOR0 = in_COLOR0;
					    vs_COLOR0 = clamp(vs_COLOR0, 0.0, 1.0);
					    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;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" }
					"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 UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[9];
						mat4x4 unity_MatrixV;
						vec4 unused_1_2[4];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_4[2];
					};
					layout(std140) uniform UnityFog {
						vec4 unused_2_0;
						vec4 unity_FogParams;
					};
					in  vec3 in_POSITION0;
					in  vec4 in_COLOR0;
					out vec4 vs_COLOR0;
					out float vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    vs_COLOR0 = in_COLOR0;
					    vs_COLOR0 = clamp(vs_COLOR0, 0.0, 1.0);
					    u_xlat0.xyz = unity_ObjectToWorld[1].yyy * unity_MatrixV[1].xyz;
					    u_xlat0.xyz = unity_MatrixV[0].xyz * unity_ObjectToWorld[1].xxx + u_xlat0.xyz;
					    u_xlat0.xyz = unity_MatrixV[2].xyz * unity_ObjectToWorld[1].zzz + u_xlat0.xyz;
					    u_xlat0.xyz = unity_MatrixV[3].xyz * unity_ObjectToWorld[1].www + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * in_POSITION0.yyy;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yyy * unity_MatrixV[1].xyz;
					    u_xlat1.xyz = unity_MatrixV[0].xyz * unity_ObjectToWorld[0].xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_MatrixV[2].xyz * unity_ObjectToWorld[0].zzz + u_xlat1.xyz;
					    u_xlat1.xyz = unity_MatrixV[3].xyz * unity_ObjectToWorld[0].www + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * in_POSITION0.xxx + u_xlat0.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yyy * unity_MatrixV[1].xyz;
					    u_xlat1.xyz = unity_MatrixV[0].xyz * unity_ObjectToWorld[2].xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_MatrixV[2].xyz * unity_ObjectToWorld[2].zzz + u_xlat1.xyz;
					    u_xlat1.xyz = unity_MatrixV[3].xyz * unity_ObjectToWorld[2].www + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat1.xyz * in_POSITION0.zzz + u_xlat0.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[3].yyy * unity_MatrixV[1].xyz;
					    u_xlat1.xyz = unity_MatrixV[0].xyz * unity_ObjectToWorld[3].xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_MatrixV[2].xyz * unity_ObjectToWorld[3].zzz + u_xlat1.xyz;
					    u_xlat1.xyz = unity_MatrixV[3].xyz * unity_ObjectToWorld[3].www + u_xlat1.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + u_xlat1.xyz;
					    u_xlat0.x = dot(u_xlat0.xyz, u_xlat0.xyz);
					    u_xlat0.x = sqrt(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * unity_FogParams.x;
					    u_xlat0.x = u_xlat0.x * (-u_xlat0.x);
					    vs_TEXCOORD0 = exp2(u_xlat0.x);
					    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;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "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 UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[8];
						mat4x4 unity_StereoMatrixV[2];
						vec4 unused_1_2[12];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_4[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					layout(std140) uniform UnityFog {
						vec4 unused_3_0;
						vec4 unity_FogParams;
					};
					in  vec3 in_POSITION0;
					in  vec4 in_COLOR0;
					out vec4 vs_COLOR0;
					out float vs_TEXCOORD0;
					int u_xlati0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    vs_COLOR0 = in_COLOR0;
					    vs_COLOR0 = clamp(vs_COLOR0, 0.0, 1.0);
					    u_xlati0 = unity_StereoEyeIndex << 2;
					    u_xlat3.xyz = unity_ObjectToWorld[1].yyy * unity_StereoMatrixV[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4].xyz;
					    u_xlat3.xyz = unity_StereoMatrixV[u_xlati0 / 4][u_xlati0 % 4].xyz * unity_ObjectToWorld[1].xxx + u_xlat3.xyz;
					    u_xlat3.xyz = unity_StereoMatrixV[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4].xyz * unity_ObjectToWorld[1].zzz + u_xlat3.xyz;
					    u_xlat3.xyz = unity_StereoMatrixV[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4].xyz * unity_ObjectToWorld[1].www + u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * in_POSITION0.yyy;
					    u_xlat1.xyz = unity_ObjectToWorld[0].yyy * unity_StereoMatrixV[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4].xyz;
					    u_xlat1.xyz = unity_StereoMatrixV[u_xlati0 / 4][u_xlati0 % 4].xyz * unity_ObjectToWorld[0].xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_StereoMatrixV[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4].xyz * unity_ObjectToWorld[0].zzz + u_xlat1.xyz;
					    u_xlat1.xyz = unity_StereoMatrixV[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4].xyz * unity_ObjectToWorld[0].www + u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * in_POSITION0.xxx + u_xlat3.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[2].yyy * unity_StereoMatrixV[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4].xyz;
					    u_xlat1.xyz = unity_StereoMatrixV[u_xlati0 / 4][u_xlati0 % 4].xyz * unity_ObjectToWorld[2].xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_StereoMatrixV[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4].xyz * unity_ObjectToWorld[2].zzz + u_xlat1.xyz;
					    u_xlat1.xyz = unity_StereoMatrixV[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4].xyz * unity_ObjectToWorld[2].www + u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * in_POSITION0.zzz + u_xlat3.xyz;
					    u_xlat1.xyz = unity_ObjectToWorld[3].yyy * unity_StereoMatrixV[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4].xyz;
					    u_xlat1.xyz = unity_StereoMatrixV[u_xlati0 / 4][u_xlati0 % 4].xyz * unity_ObjectToWorld[3].xxx + u_xlat1.xyz;
					    u_xlat1.xyz = unity_StereoMatrixV[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4].xyz * unity_ObjectToWorld[3].zzz + u_xlat1.xyz;
					    u_xlat1.xyz = unity_StereoMatrixV[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4].xyz * unity_ObjectToWorld[3].www + u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat3.x = dot(u_xlat3.xyz, u_xlat3.xyz);
					    u_xlat3.x = sqrt(u_xlat3.x);
					    u_xlat3.x = u_xlat3.x * unity_FogParams.x;
					    u_xlat3.x = u_xlat3.x * (-u_xlat3.x);
					    vs_TEXCOORD0 = exp2(u_xlat3.x);
					    u_xlat1 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat1 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat1;
					    u_xlat1 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat1;
					    u_xlat1 = u_xlat1 + unity_ObjectToWorld[3];
					    u_xlat2 = u_xlat1.yyyy * unity_StereoMatrixVP[(u_xlati0 + 1) / 4][(u_xlati0 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati0 / 4][u_xlati0 % 4] * u_xlat1.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati0 + 2) / 4][(u_xlati0 + 2) % 4] * u_xlat1.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati0 + 3) / 4][(u_xlati0 + 3) % 4] * u_xlat1.wwww + u_xlat2;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					in  vec4 vs_COLOR0;
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vs_COLOR0;
					    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
					
					in  vec4 vs_COLOR0;
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = vs_COLOR0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" }
					"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 UnityFog {
						vec4 unity_FogColor;
						vec4 unused_0_1;
					};
					in  vec4 vs_COLOR0;
					in  float vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					void main()
					{
					    u_xlat0.xyz = vs_COLOR0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(vs_TEXCOORD0) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = vs_COLOR0.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "FOG_EXP2" "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 UnityFog {
						vec4 unity_FogColor;
						vec4 unused_0_1;
					};
					in  vec4 vs_COLOR0;
					in  float vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					void main()
					{
					    u_xlat0.xyz = vs_COLOR0.xyz + (-unity_FogColor.xyz);
					    SV_Target0.xyz = vec3(vs_TEXCOORD0) * u_xlat0.xyz + unity_FogColor.xyz;
					    SV_Target0.w = vs_COLOR0.w;
					    return;
					}"
				}
			}
		}
		Pass {
			Tags { "IGNOREPROJECTOR" = "true" "QUEUE" = "Transparent" "RenderType" = "Transparent" }
			Blend SrcAlpha OneMinusSrcAlpha, SrcAlpha OneMinusSrcAlpha
			ZWrite Off
			Stencil {
				Comp Equal
				Pass Keep
				Fail Keep
				ZFail Keep
			}
			GpuProgramID 36037
			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 UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					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;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    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 UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 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_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;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    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[2];
						vec4 _OutlineColor;
						vec4 unused_0_2;
					};
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0.xyz = _OutlineColor.xyz;
					    SV_Target0.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[2];
						vec4 _OutlineColor;
						vec4 unused_0_2;
					};
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0.xyz = _OutlineColor.xyz;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
			}
			Program "gp" {
				SubProgram "d3d11 " {
					"gs_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 GGlobals {
						vec4 unused_0_0[3];
						float _Thickness;
					};
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat6;
					float u_xlat16;
					layout(triangles) in;
					layout(triangle_strip) out;
					layout(max_vertices = 12) out;
					void main()
					{
					    u_xlat0 = (-gl_in[0].gl_Position) + gl_in[1].gl_Position;
					    u_xlat1.x = _Thickness * 0.00999999978;
					    u_xlat6.xy = u_xlat0.xy * u_xlat1.xx;
					    u_xlat2.xy = u_xlat6.yx * vec2(1.0, -1.0);
					    u_xlat16 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat2.x = u_xlat16 * u_xlat6.y;
					    u_xlat2.y = u_xlat16 * (-u_xlat6.x);
					    u_xlat2.xy = u_xlat1.xx * u_xlat2.xy;
					    u_xlat2.z = float(0.0);
					    u_xlat2.w = float(0.0);
					    u_xlat3 = (-u_xlat0) * u_xlat1.xxxx + gl_in[0].gl_Position;
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx + gl_in[1].gl_Position;
					    u_xlat4 = (-u_xlat2.xyww) + u_xlat3;
					    u_xlat3 = u_xlat2 + u_xlat3;
					    gl_Position = u_xlat4;
					    EmitVertex();
					    gl_Position = u_xlat3;
					    EmitVertex();
					    u_xlat3 = (-u_xlat2.xyww) + u_xlat0;
					    u_xlat0 = u_xlat2 + u_xlat0;
					    gl_Position = u_xlat3;
					    EmitVertex();
					    gl_Position = u_xlat0;
					    EmitVertex();
					    u_xlat0 = (-gl_in[1].gl_Position) + gl_in[2].gl_Position;
					    u_xlat6.xy = u_xlat1.xx * u_xlat0.xy;
					    u_xlat2.xy = u_xlat6.yx * vec2(1.0, -1.0);
					    u_xlat16 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat2.x = u_xlat16 * u_xlat6.y;
					    u_xlat2.y = u_xlat16 * (-u_xlat6.x);
					    u_xlat2.xy = u_xlat1.xx * u_xlat2.xy;
					    u_xlat2.z = float(0.0);
					    u_xlat2.w = float(0.0);
					    u_xlat3 = (-u_xlat0) * u_xlat1.xxxx + gl_in[1].gl_Position;
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx + gl_in[2].gl_Position;
					    u_xlat4 = (-u_xlat2.xyww) + u_xlat3;
					    u_xlat3 = u_xlat2 + u_xlat3;
					    gl_Position = u_xlat4;
					    EmitVertex();
					    gl_Position = u_xlat3;
					    EmitVertex();
					    u_xlat3 = (-u_xlat2.xyww) + u_xlat0;
					    u_xlat0 = u_xlat2 + u_xlat0;
					    gl_Position = u_xlat3;
					    EmitVertex();
					    gl_Position = u_xlat0;
					    EmitVertex();
					    u_xlat0 = (-gl_in[2].gl_Position) + gl_in[0].gl_Position;
					    u_xlat6.xy = u_xlat1.xx * u_xlat0.xy;
					    u_xlat2.xy = u_xlat6.yx * vec2(1.0, -1.0);
					    u_xlat16 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat2.x = u_xlat16 * u_xlat6.y;
					    u_xlat2.y = u_xlat16 * (-u_xlat6.x);
					    u_xlat2.xy = u_xlat1.xx * u_xlat2.xy;
					    u_xlat3 = (-u_xlat0) * u_xlat1.xxxx + gl_in[2].gl_Position;
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx + gl_in[0].gl_Position;
					    u_xlat2.z = float(0.0);
					    u_xlat2.w = float(0.0);
					    u_xlat1 = (-u_xlat2.xyww) + u_xlat3;
					    u_xlat3 = u_xlat2 + u_xlat3;
					    gl_Position = u_xlat1;
					    EmitVertex();
					    gl_Position = u_xlat3;
					    EmitVertex();
					    u_xlat1 = u_xlat0 + (-u_xlat2.xyww);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    gl_Position = u_xlat1;
					    EmitVertex();
					    gl_Position = u_xlat0;
					    EmitVertex();
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"gs_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 GGlobals {
						vec4 unused_0_0[3];
						float _Thickness;
					};
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec4 u_xlat4;
					vec2 u_xlat6;
					float u_xlat16;
					layout(triangles) in;
					layout(triangle_strip) out;
					layout(max_vertices = 12) out;
					void main()
					{
					    u_xlat0 = (-gl_in[0].gl_Position) + gl_in[1].gl_Position;
					    u_xlat1.x = _Thickness * 0.00999999978;
					    u_xlat6.xy = u_xlat0.xy * u_xlat1.xx;
					    u_xlat2.xy = u_xlat6.yx * vec2(1.0, -1.0);
					    u_xlat16 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat2.x = u_xlat16 * u_xlat6.y;
					    u_xlat2.y = u_xlat16 * (-u_xlat6.x);
					    u_xlat2.xy = u_xlat1.xx * u_xlat2.xy;
					    u_xlat2.z = float(0.0);
					    u_xlat2.w = float(0.0);
					    u_xlat3 = (-u_xlat0) * u_xlat1.xxxx + gl_in[0].gl_Position;
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx + gl_in[1].gl_Position;
					    u_xlat4 = (-u_xlat2.xyww) + u_xlat3;
					    u_xlat3 = u_xlat2 + u_xlat3;
					    gl_Position = u_xlat4;
					    EmitVertex();
					    gl_Position = u_xlat3;
					    EmitVertex();
					    u_xlat3 = (-u_xlat2.xyww) + u_xlat0;
					    u_xlat0 = u_xlat2 + u_xlat0;
					    gl_Position = u_xlat3;
					    EmitVertex();
					    gl_Position = u_xlat0;
					    EmitVertex();
					    u_xlat0 = (-gl_in[1].gl_Position) + gl_in[2].gl_Position;
					    u_xlat6.xy = u_xlat1.xx * u_xlat0.xy;
					    u_xlat2.xy = u_xlat6.yx * vec2(1.0, -1.0);
					    u_xlat16 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat2.x = u_xlat16 * u_xlat6.y;
					    u_xlat2.y = u_xlat16 * (-u_xlat6.x);
					    u_xlat2.xy = u_xlat1.xx * u_xlat2.xy;
					    u_xlat2.z = float(0.0);
					    u_xlat2.w = float(0.0);
					    u_xlat3 = (-u_xlat0) * u_xlat1.xxxx + gl_in[1].gl_Position;
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx + gl_in[2].gl_Position;
					    u_xlat4 = (-u_xlat2.xyww) + u_xlat3;
					    u_xlat3 = u_xlat2 + u_xlat3;
					    gl_Position = u_xlat4;
					    EmitVertex();
					    gl_Position = u_xlat3;
					    EmitVertex();
					    u_xlat3 = (-u_xlat2.xyww) + u_xlat0;
					    u_xlat0 = u_xlat2 + u_xlat0;
					    gl_Position = u_xlat3;
					    EmitVertex();
					    gl_Position = u_xlat0;
					    EmitVertex();
					    u_xlat0 = (-gl_in[2].gl_Position) + gl_in[0].gl_Position;
					    u_xlat6.xy = u_xlat1.xx * u_xlat0.xy;
					    u_xlat2.xy = u_xlat6.yx * vec2(1.0, -1.0);
					    u_xlat16 = dot(u_xlat2.xy, u_xlat2.xy);
					    u_xlat16 = inversesqrt(u_xlat16);
					    u_xlat2.x = u_xlat16 * u_xlat6.y;
					    u_xlat2.y = u_xlat16 * (-u_xlat6.x);
					    u_xlat2.xy = u_xlat1.xx * u_xlat2.xy;
					    u_xlat3 = (-u_xlat0) * u_xlat1.xxxx + gl_in[2].gl_Position;
					    u_xlat0 = u_xlat0 * u_xlat1.xxxx + gl_in[0].gl_Position;
					    u_xlat2.z = float(0.0);
					    u_xlat2.w = float(0.0);
					    u_xlat1 = (-u_xlat2.xyww) + u_xlat3;
					    u_xlat3 = u_xlat2 + u_xlat3;
					    gl_Position = u_xlat1;
					    EmitVertex();
					    gl_Position = u_xlat3;
					    EmitVertex();
					    u_xlat1 = u_xlat0 + (-u_xlat2.xyww);
					    u_xlat0 = u_xlat0 + u_xlat2;
					    gl_Position = u_xlat1;
					    EmitVertex();
					    gl_Position = u_xlat0;
					    EmitVertex();
					    return;
					}"
				}
			}
		}
	}
	Fallback "Diffuse"
}