#version 300 es
layout(location=0) out mediump vec4 _glesFragData[4];
uniform sampler2D _MainTex;
uniform sampler2D _Curve;
uniform highp float _RangeScale;
in highp vec2 xlv_TEXCOORD0;
void main ()
{
  highp float newLum_1;
  highp vec3 cie_2;
  highp vec4 color_3;
  lowp vec4 tmpvar_4;
  tmpvar_4 = texture (_MainTex, xlv_TEXCOORD0);
  color_3 = tmpvar_4;
  highp vec3 Yxy_5;
  highp vec3 tmpvar_6;
  tmpvar_6 = (mat3(0.514136, 0.265068, 0.0241188, 0.323879, 0.670234, 0.122818, 0.160364, 0.0640916, 0.844427) * color_3.xyz);
  Yxy_5.x = tmpvar_6.y;
  Yxy_5.yz = (tmpvar_6.xy / dot (vec3(1.0, 1.0, 1.0), tmpvar_6));
  cie_2.yz = Yxy_5.yz;
  highp vec2 tmpvar_7;
  tmpvar_7.y = 0.5;
  tmpvar_7.x = (tmpvar_6.y * _RangeScale);
  lowp float tmpvar_8;
  tmpvar_8 = texture (_Curve, tmpvar_7).x;
  newLum_1 = tmpvar_8;
  cie_2.x = newLum_1;
  highp vec3 XYZ_9;
  XYZ_9.x = ((newLum_1 * Yxy_5.y) / Yxy_5.z);
  XYZ_9.y = cie_2.x;
  XYZ_9.z = ((newLum_1 * (
    (1.0 - Yxy_5.y)
   - Yxy_5.z)) / Yxy_5.z);
  color_3.xyz = (mat3(2.5651, -1.0217, 0.0753, -1.1665, 1.9777, -0.2543, -0.3986, 0.0439, 1.1892) * XYZ_9);
  _glesFragData[0] = color_3;
}


// stats: 12 alu 2 tex 0 flow
// inputs: 1
//  #0: xlv_TEXCOORD0 (high float) 2x1 [-1]
// uniforms: 1 (total size: 0)
//  #0: _RangeScale (high float) 1x1 [-1]
// textures: 2
//  #0: _MainTex (low 2d) 0x0 [-1]
//  #1: _Curve (low 2d) 0x0 [-1]
