import jaggl.OpenGL;

public class Class225_Sub42_Sub1 extends Class225_Sub42 {

   static final String aString10159 = "#extension GL_ARB_texture_rectangle : enable\nuniform vec3 params;\nuniform sampler2DRect sceneTex;\nconst vec3 lumCoef = vec3(0.2126, 0.7152, 0.0722);\nvoid main() {\n    vec4 col = texture2DRect(sceneTex, gl_TexCoord[0].xy);\n    gl_FragColor = col*step(params.x, dot(lumCoef, col.rgb));\n}\n";
   int anInt10160;
   static float aFloat10161 = 1.0F;
   int anInt10162;
   Class147_Sub4 aClass147_Sub4_10163;
   static final String aString10164 = "uniform vec3 params;\nuniform sampler2D sceneTex;\nconst vec3 lumCoef = vec3(0.2126, 0.7152, 0.0722);\nvoid main() {\n    vec4 col = texture2D(sceneTex, gl_TexCoord[0].xy);\n    gl_FragColor = col*step(params.x, dot(lumCoef, col.rgb));\n}\n";
   static final String aString10165 = "uniform vec3 step;\nuniform sampler2D baseTex;\nvoid main() {\n\tvec4 fragCol = texture2D(baseTex, gl_TexCoord[0].xy)*0.091396265;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-1.0*step.xy))*0.088584304;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 1.0*step.xy))*0.088584304;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-2.0*step.xy))*0.08065692;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 2.0*step.xy))*0.08065692;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-3.0*step.xy))*0.068989515;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 3.0*step.xy))*0.068989515;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-4.0*step.xy))*0.055434637;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 4.0*step.xy))*0.055434637;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-5.0*step.xy))*0.04184426;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 5.0*step.xy))*0.04184426;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-6.0*step.xy))*0.029672023;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 6.0*step.xy))*0.029672023;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-7.0*step.xy))*0.019765828;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 7.0*step.xy))*0.019765828;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-8.0*step.xy))*0.012369139;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 8.0*step.xy))*0.012369139;\n\tgl_FragColor = fragCol;\n}\n";
   static final String aString10166 = "#extension GL_ARB_texture_rectangle : enable\nuniform vec3 params;\nuniform vec3 dimScale;\nuniform sampler2D bloomTex;\nuniform sampler2DRect sceneTex;\nconst vec3 lumCoef = vec3(0.2126, 0.7152, 0.0722);\nvoid main() {\n\t vec4 bloomCol = texture2D(bloomTex, gl_TexCoord[1].xy);\n\t vec4 sceneCol = texture2DRect(sceneTex, gl_TexCoord[0].xy);\n\t float preLum = 0.99*dot(lumCoef, sceneCol.rgb)+0.01;\n    float postLum = preLum*(1.0+(preLum/params.y))/(preLum+1.0);\n\t gl_FragColor = sceneCol*(postLum/preLum)+bloomCol*params.x;\n}\n";
   Class151_Sub1_Sub2 aClass151_Sub1_Sub2_10167;
   Class151_Sub1_Sub2 aClass151_Sub1_Sub2_10168;
   int anInt10169;
   Class137 aClass137_10170;
   Class147_Sub4[] aClass147_Sub4Array10171;
   Class137 aClass137_10172;
   Class147_Sub4 aClass147_Sub4_10173;
   int anInt10174;
   static float aFloat10175 = 1.0F;
   static final int anInt10176 = 256;
   static float aFloat10177 = 0.25F;
   Class137 aClass137_10178;
   Class137 aClass137_10179;


   boolean method14143() {
      if(this.aClass545_Sub1_8764.aBool9266 && this.aClass545_Sub1_8764.aBool9281 && this.aClass545_Sub1_8764.aBool9277) {
         this.aClass151_Sub1_Sub2_10167 = new Class151_Sub1_Sub2(this.aClass545_Sub1_8764);
         this.aClass147_Sub4_10163 = new Class147_Sub4(this.aClass545_Sub1_8764, 3553, Class98.aClass98_992, Class91.aClass91_903, 256, 256);
         this.aClass147_Sub4_10163.method15463(false, false);
         this.aClass147_Sub4_10173 = new Class147_Sub4(this.aClass545_Sub1_8764, 3553, Class98.aClass98_992, Class91.aClass91_903, 256, 256);
         this.aClass147_Sub4_10173.method15463(false, false);
         this.aClass545_Sub1_8764.method11451(this.aClass151_Sub1_Sub2_10167, -543666943);
         this.aClass151_Sub1_Sub2_10167.method14460(0, this.aClass147_Sub4_10163.method15466(0));
         this.aClass151_Sub1_Sub2_10167.method14460(1, this.aClass147_Sub4_10173.method15466(0));
         this.aClass151_Sub1_Sub2_10167.method15794(0);
         if(!this.aClass151_Sub1_Sub2_10167.method14461()) {
            this.aClass545_Sub1_8764.method11672(this.aClass151_Sub1_Sub2_10167, (byte)32);
            return false;
         } else {
            this.aClass545_Sub1_8764.method11672(this.aClass151_Sub1_Sub2_10167, (byte)85);
            this.aClass137_10179 = Class137.method2619(this.aClass545_Sub1_8764, new Class130[]{Class130.method2490(this.aClass545_Sub1_8764, '\u8b30', "#extension GL_ARB_texture_rectangle : enable\nuniform vec3 params;\nuniform sampler2DRect sceneTex;\nconst vec3 lumCoef = vec3(0.2126, 0.7152, 0.0722);\nvoid main() {\n    vec4 col = texture2DRect(sceneTex, gl_TexCoord[0].xy);\n    gl_FragColor = col*step(params.x, dot(lumCoef, col.rgb));\n}\n")});
            this.aClass137_10172 = Class137.method2619(this.aClass545_Sub1_8764, new Class130[]{Class130.method2490(this.aClass545_Sub1_8764, '\u8b30', "uniform vec3 params;\nuniform sampler2D sceneTex;\nconst vec3 lumCoef = vec3(0.2126, 0.7152, 0.0722);\nvoid main() {\n    vec4 col = texture2D(sceneTex, gl_TexCoord[0].xy);\n    gl_FragColor = col*step(params.x, dot(lumCoef, col.rgb));\n}\n")});
            this.aClass137_10170 = Class137.method2619(this.aClass545_Sub1_8764, new Class130[]{Class130.method2490(this.aClass545_Sub1_8764, '\u8b30', "#extension GL_ARB_texture_rectangle : enable\nuniform vec3 params;\nuniform vec3 dimScale;\nuniform sampler2D bloomTex;\nuniform sampler2DRect sceneTex;\nconst vec3 lumCoef = vec3(0.2126, 0.7152, 0.0722);\nvoid main() {\n\t vec4 bloomCol = texture2D(bloomTex, gl_TexCoord[1].xy);\n\t vec4 sceneCol = texture2DRect(sceneTex, gl_TexCoord[0].xy);\n\t float preLum = 0.99*dot(lumCoef, sceneCol.rgb)+0.01;\n    float postLum = preLum*(1.0+(preLum/params.y))/(preLum+1.0);\n\t gl_FragColor = sceneCol*(postLum/preLum)+bloomCol*params.x;\n}\n")});
            this.aClass137_10178 = Class137.method2619(this.aClass545_Sub1_8764, new Class130[]{Class130.method2490(this.aClass545_Sub1_8764, '\u8b30', "uniform vec3 step;\nuniform sampler2D baseTex;\nvoid main() {\n\tvec4 fragCol = texture2D(baseTex, gl_TexCoord[0].xy)*0.091396265;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-1.0*step.xy))*0.088584304;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 1.0*step.xy))*0.088584304;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-2.0*step.xy))*0.08065692;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 2.0*step.xy))*0.08065692;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-3.0*step.xy))*0.068989515;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 3.0*step.xy))*0.068989515;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-4.0*step.xy))*0.055434637;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 4.0*step.xy))*0.055434637;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-5.0*step.xy))*0.04184426;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 5.0*step.xy))*0.04184426;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-6.0*step.xy))*0.029672023;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 6.0*step.xy))*0.029672023;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-7.0*step.xy))*0.019765828;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 7.0*step.xy))*0.019765828;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-8.0*step.xy))*0.012369139;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 8.0*step.xy))*0.012369139;\n\tgl_FragColor = fragCol;\n}\n")});
            return this.aClass137_10172 != null && this.aClass137_10179 != null && this.aClass137_10170 != null && this.aClass137_10178 != null;
         }
      } else {
         return false;
      }
   }

   boolean method15776() {
      return this.aClass545_Sub1_8764.aBool9266 && this.aClass545_Sub1_8764.aBool9281 && this.aClass545_Sub1_8764.aBool9277;
   }

   void method14148(int var1, Class147_Sub4 var2, Class147_Sub4 var3) {
      OpenGL.glPushAttrib(2048);
      OpenGL.glMatrixMode(5889);
      OpenGL.glPushMatrix();
      OpenGL.glLoadIdentity();
      OpenGL.glOrtho(0.0D, 1.0D, 0.0D, 1.0D, -1.0D, 1.0D);
      int var4;
      int var5;
      if(this.aClass147_Sub4Array10171 != null) {
         this.aClass545_Sub1_8764.method11451(this.aClass151_Sub1_Sub2_10168, -543666943);
         var4 = Class526.method11090(this.anInt10162, (byte)-42);
         var5 = Class526.method11090(this.anInt10169, (byte)62);

         int var6;
         for(var6 = 0; var4 > 256 || var5 > 256; ++var6) {
            OpenGL.glViewport(0, 0, var4, var5);
            this.aClass151_Sub1_Sub2_10168.method14460(0, this.aClass147_Sub4Array10171[var6].method15466(0));
            if(var6 == 0) {
               this.aClass545_Sub1_8764.method14725(var2);
               OpenGL.glBegin(7);
               OpenGL.glTexCoord2f(0.0F, 0.0F);
               OpenGL.glVertex2i(0, 0);
               OpenGL.glTexCoord2f((float)this.anInt10162, 0.0F);
               OpenGL.glVertex2i(1, 0);
               OpenGL.glTexCoord2f((float)this.anInt10162, (float)this.anInt10169);
               OpenGL.glVertex2i(1, 1);
               OpenGL.glTexCoord2f(0.0F, (float)this.anInt10169);
               OpenGL.glVertex2i(0, 1);
               OpenGL.glEnd();
            } else {
               this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4Array10171[var6 - 1]);
               OpenGL.glBegin(7);
               OpenGL.glTexCoord2f(0.0F, 0.0F);
               OpenGL.glVertex2i(0, 0);
               OpenGL.glTexCoord2f(1.0F, 0.0F);
               OpenGL.glVertex2i(1, 0);
               OpenGL.glTexCoord2f(1.0F, 1.0F);
               OpenGL.glVertex2i(1, 1);
               OpenGL.glTexCoord2f(0.0F, 1.0F);
               OpenGL.glVertex2i(0, 1);
               OpenGL.glEnd();
            }

            if(var4 > 256) {
               var4 >>= 1;
            }

            if(var5 > 256) {
               var5 >>= 1;
            }
         }

         this.aClass545_Sub1_8764.method11672(this.aClass151_Sub1_Sub2_10168, (byte)79);
         this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4Array10171[var6 - 1]);
         this.aClass545_Sub1_8764.method11451(this.aClass151_Sub1_Sub2_10167, -543666943);
         this.aClass151_Sub1_Sub2_10167.method15794(0);
         OpenGL.glViewport(0, 0, 256, 256);
         int var7 = this.aClass137_10172.anInt1606;
         OpenGL.glUseProgram(var7);
         OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var7, "sceneTex"), 0);
         OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var7, "params"), aFloat10175, 0.0F, 0.0F);
         OpenGL.glBegin(7);
         OpenGL.glTexCoord2f(0.0F, 0.0F);
         OpenGL.glVertex2i(0, 0);
         OpenGL.glTexCoord2f(1.0F, 0.0F);
         OpenGL.glVertex2i(1, 0);
         OpenGL.glTexCoord2f(1.0F, 1.0F);
         OpenGL.glVertex2i(1, 1);
         OpenGL.glTexCoord2f(0.0F, 1.0F);
         OpenGL.glVertex2i(0, 1);
         OpenGL.glEnd();
      } else {
         this.aClass545_Sub1_8764.method14725(var2);
         this.aClass545_Sub1_8764.method11451(this.aClass151_Sub1_Sub2_10167, -543666943);
         this.aClass151_Sub1_Sub2_10167.method15794(0);
         OpenGL.glViewport(0, 0, 256, 256);
         var4 = this.aClass137_10179.anInt1606;
         OpenGL.glUseProgram(var4);
         OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var4, "sceneTex"), 0);
         OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var4, "params"), aFloat10175, 0.0F, 0.0F);
         OpenGL.glBegin(7);
         OpenGL.glTexCoord2f(0.0F, 0.0F);
         OpenGL.glVertex2i(0, 0);
         OpenGL.glTexCoord2f((float)this.anInt10162, 0.0F);
         OpenGL.glVertex2i(1, 0);
         OpenGL.glTexCoord2f((float)this.anInt10162, (float)this.anInt10169);
         OpenGL.glVertex2i(1, 1);
         OpenGL.glTexCoord2f(0.0F, (float)this.anInt10169);
         OpenGL.glVertex2i(0, 1);
         OpenGL.glEnd();
      }

      this.aClass151_Sub1_Sub2_10167.method15794(1);
      this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4_10163);
      var4 = this.aClass137_10178.anInt1606;
      OpenGL.glUseProgram(var4);
      OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var4, "baseTex"), 0);
      OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var4, "step"), 0.00390625F, 0.0F, 0.0F);
      OpenGL.glBegin(7);
      OpenGL.glTexCoord2f(0.0F, 0.0F);
      OpenGL.glVertex2i(0, 0);
      OpenGL.glTexCoord2f(1.0F, 0.0F);
      OpenGL.glVertex2i(1, 0);
      OpenGL.glTexCoord2f(1.0F, 1.0F);
      OpenGL.glVertex2i(1, 1);
      OpenGL.glTexCoord2f(0.0F, 1.0F);
      OpenGL.glVertex2i(0, 1);
      OpenGL.glEnd();
      this.aClass151_Sub1_Sub2_10167.method15794(0);
      this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4_10173);
      OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var4, "step"), 0.0F, 0.00390625F, 0.0F);
      OpenGL.glBegin(7);
      OpenGL.glTexCoord2f(0.0F, 0.0F);
      OpenGL.glVertex2i(0, 0);
      OpenGL.glTexCoord2f(1.0F, 0.0F);
      OpenGL.glVertex2i(1, 0);
      OpenGL.glTexCoord2f(1.0F, 1.0F);
      OpenGL.glVertex2i(1, 1);
      OpenGL.glTexCoord2f(0.0F, 1.0F);
      OpenGL.glVertex2i(0, 1);
      OpenGL.glEnd();
      OpenGL.glPopAttrib();
      OpenGL.glPopMatrix();
      OpenGL.glMatrixMode(5888);
      this.aClass545_Sub1_8764.method11672(this.aClass151_Sub1_Sub2_10167, (byte)35);
      var5 = this.aClass137_10170.anInt1606;
      OpenGL.glUseProgram(var5);
      OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var5, "sceneTex"), 0);
      OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var5, "bloomTex"), 1);
      OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var5, "params"), aFloat10177, aFloat10161, 0.0F);
      this.aClass545_Sub1_8764.method14641(1);
      this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4_10163);
      this.aClass545_Sub1_8764.method14641(0);
      this.aClass545_Sub1_8764.method14725(var2);
   }

   boolean method14131() {
      if(this.aClass545_Sub1_8764.aBool9266 && this.aClass545_Sub1_8764.aBool9281 && this.aClass545_Sub1_8764.aBool9277) {
         this.aClass151_Sub1_Sub2_10167 = new Class151_Sub1_Sub2(this.aClass545_Sub1_8764);
         this.aClass147_Sub4_10163 = new Class147_Sub4(this.aClass545_Sub1_8764, 3553, Class98.aClass98_992, Class91.aClass91_903, 256, 256);
         this.aClass147_Sub4_10163.method15463(false, false);
         this.aClass147_Sub4_10173 = new Class147_Sub4(this.aClass545_Sub1_8764, 3553, Class98.aClass98_992, Class91.aClass91_903, 256, 256);
         this.aClass147_Sub4_10173.method15463(false, false);
         this.aClass545_Sub1_8764.method11451(this.aClass151_Sub1_Sub2_10167, -543666943);
         this.aClass151_Sub1_Sub2_10167.method14460(0, this.aClass147_Sub4_10163.method15466(0));
         this.aClass151_Sub1_Sub2_10167.method14460(1, this.aClass147_Sub4_10173.method15466(0));
         this.aClass151_Sub1_Sub2_10167.method15794(0);
         if(!this.aClass151_Sub1_Sub2_10167.method14461()) {
            this.aClass545_Sub1_8764.method11672(this.aClass151_Sub1_Sub2_10167, (byte)68);
            return false;
         } else {
            this.aClass545_Sub1_8764.method11672(this.aClass151_Sub1_Sub2_10167, (byte)124);
            this.aClass137_10179 = Class137.method2619(this.aClass545_Sub1_8764, new Class130[]{Class130.method2490(this.aClass545_Sub1_8764, '\u8b30', "#extension GL_ARB_texture_rectangle : enable\nuniform vec3 params;\nuniform sampler2DRect sceneTex;\nconst vec3 lumCoef = vec3(0.2126, 0.7152, 0.0722);\nvoid main() {\n    vec4 col = texture2DRect(sceneTex, gl_TexCoord[0].xy);\n    gl_FragColor = col*step(params.x, dot(lumCoef, col.rgb));\n}\n")});
            this.aClass137_10172 = Class137.method2619(this.aClass545_Sub1_8764, new Class130[]{Class130.method2490(this.aClass545_Sub1_8764, '\u8b30', "uniform vec3 params;\nuniform sampler2D sceneTex;\nconst vec3 lumCoef = vec3(0.2126, 0.7152, 0.0722);\nvoid main() {\n    vec4 col = texture2D(sceneTex, gl_TexCoord[0].xy);\n    gl_FragColor = col*step(params.x, dot(lumCoef, col.rgb));\n}\n")});
            this.aClass137_10170 = Class137.method2619(this.aClass545_Sub1_8764, new Class130[]{Class130.method2490(this.aClass545_Sub1_8764, '\u8b30', "#extension GL_ARB_texture_rectangle : enable\nuniform vec3 params;\nuniform vec3 dimScale;\nuniform sampler2D bloomTex;\nuniform sampler2DRect sceneTex;\nconst vec3 lumCoef = vec3(0.2126, 0.7152, 0.0722);\nvoid main() {\n\t vec4 bloomCol = texture2D(bloomTex, gl_TexCoord[1].xy);\n\t vec4 sceneCol = texture2DRect(sceneTex, gl_TexCoord[0].xy);\n\t float preLum = 0.99*dot(lumCoef, sceneCol.rgb)+0.01;\n    float postLum = preLum*(1.0+(preLum/params.y))/(preLum+1.0);\n\t gl_FragColor = sceneCol*(postLum/preLum)+bloomCol*params.x;\n}\n")});
            this.aClass137_10178 = Class137.method2619(this.aClass545_Sub1_8764, new Class130[]{Class130.method2490(this.aClass545_Sub1_8764, '\u8b30', "uniform vec3 step;\nuniform sampler2D baseTex;\nvoid main() {\n\tvec4 fragCol = texture2D(baseTex, gl_TexCoord[0].xy)*0.091396265;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-1.0*step.xy))*0.088584304;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 1.0*step.xy))*0.088584304;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-2.0*step.xy))*0.08065692;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 2.0*step.xy))*0.08065692;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-3.0*step.xy))*0.068989515;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 3.0*step.xy))*0.068989515;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-4.0*step.xy))*0.055434637;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 4.0*step.xy))*0.055434637;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-5.0*step.xy))*0.04184426;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 5.0*step.xy))*0.04184426;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-6.0*step.xy))*0.029672023;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 6.0*step.xy))*0.029672023;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-7.0*step.xy))*0.019765828;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 7.0*step.xy))*0.019765828;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-8.0*step.xy))*0.012369139;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 8.0*step.xy))*0.012369139;\n\tgl_FragColor = fragCol;\n}\n")});
            return this.aClass137_10172 != null && this.aClass137_10179 != null && this.aClass137_10170 != null && this.aClass137_10178 != null;
         }
      } else {
         return false;
      }
   }

   void method14140(int var1, int var2) {
      this.anInt10162 = var1;
      this.anInt10169 = var2;
      int var3 = Class526.method11090(this.anInt10162, (byte)-81);
      int var4 = Class526.method11090(this.anInt10169, (byte)29);
      if(this.anInt10174 != var3 || this.anInt10160 != var4) {
         int var5;
         if(this.aClass147_Sub4Array10171 != null) {
            for(var5 = 0; var5 < this.aClass147_Sub4Array10171.length; ++var5) {
               this.aClass147_Sub4Array10171[var5].method2698();
            }

            this.aClass147_Sub4Array10171 = null;
         }

         if(var3 <= 256 && var4 <= 256) {
            this.aClass151_Sub1_Sub2_10168 = null;
         } else {
            var5 = var3;
            int var6 = var4;

            int var7;
            for(var7 = 0; var5 > 256 || var6 > 256; ++var7) {
               if(var5 > 256) {
                  var5 >>= 1;
               }

               if(var6 > 256) {
                  var6 >>= 1;
               }
            }

            if(this.aClass151_Sub1_Sub2_10168 == null) {
               this.aClass151_Sub1_Sub2_10168 = new Class151_Sub1_Sub2(this.aClass545_Sub1_8764);
            }

            this.aClass147_Sub4Array10171 = new Class147_Sub4[var7];
            var5 = var3;
            var6 = var4;
            var7 = 0;

            while(var5 > 256 || var6 > 256) {
               this.aClass147_Sub4Array10171[var7++] = new Class147_Sub4(this.aClass545_Sub1_8764, 3553, Class98.aClass98_992, Class91.aClass91_903, var5, var6);
               if(var5 > 256) {
                  var5 >>= 1;
               }

               if(var6 > 256) {
                  var6 >>= 1;
               }
            }
         }

         this.anInt10174 = var3;
         this.anInt10160 = var4;
      }

   }

   boolean method14142() {
      if(this.aClass545_Sub1_8764.aBool9266 && this.aClass545_Sub1_8764.aBool9281 && this.aClass545_Sub1_8764.aBool9277) {
         this.aClass151_Sub1_Sub2_10167 = new Class151_Sub1_Sub2(this.aClass545_Sub1_8764);
         this.aClass147_Sub4_10163 = new Class147_Sub4(this.aClass545_Sub1_8764, 3553, Class98.aClass98_992, Class91.aClass91_903, 256, 256);
         this.aClass147_Sub4_10163.method15463(false, false);
         this.aClass147_Sub4_10173 = new Class147_Sub4(this.aClass545_Sub1_8764, 3553, Class98.aClass98_992, Class91.aClass91_903, 256, 256);
         this.aClass147_Sub4_10173.method15463(false, false);
         this.aClass545_Sub1_8764.method11451(this.aClass151_Sub1_Sub2_10167, -543666943);
         this.aClass151_Sub1_Sub2_10167.method14460(0, this.aClass147_Sub4_10163.method15466(0));
         this.aClass151_Sub1_Sub2_10167.method14460(1, this.aClass147_Sub4_10173.method15466(0));
         this.aClass151_Sub1_Sub2_10167.method15794(0);
         if(!this.aClass151_Sub1_Sub2_10167.method14461()) {
            this.aClass545_Sub1_8764.method11672(this.aClass151_Sub1_Sub2_10167, (byte)43);
            return false;
         } else {
            this.aClass545_Sub1_8764.method11672(this.aClass151_Sub1_Sub2_10167, (byte)54);
            this.aClass137_10179 = Class137.method2619(this.aClass545_Sub1_8764, new Class130[]{Class130.method2490(this.aClass545_Sub1_8764, '\u8b30', "#extension GL_ARB_texture_rectangle : enable\nuniform vec3 params;\nuniform sampler2DRect sceneTex;\nconst vec3 lumCoef = vec3(0.2126, 0.7152, 0.0722);\nvoid main() {\n    vec4 col = texture2DRect(sceneTex, gl_TexCoord[0].xy);\n    gl_FragColor = col*step(params.x, dot(lumCoef, col.rgb));\n}\n")});
            this.aClass137_10172 = Class137.method2619(this.aClass545_Sub1_8764, new Class130[]{Class130.method2490(this.aClass545_Sub1_8764, '\u8b30', "uniform vec3 params;\nuniform sampler2D sceneTex;\nconst vec3 lumCoef = vec3(0.2126, 0.7152, 0.0722);\nvoid main() {\n    vec4 col = texture2D(sceneTex, gl_TexCoord[0].xy);\n    gl_FragColor = col*step(params.x, dot(lumCoef, col.rgb));\n}\n")});
            this.aClass137_10170 = Class137.method2619(this.aClass545_Sub1_8764, new Class130[]{Class130.method2490(this.aClass545_Sub1_8764, '\u8b30', "#extension GL_ARB_texture_rectangle : enable\nuniform vec3 params;\nuniform vec3 dimScale;\nuniform sampler2D bloomTex;\nuniform sampler2DRect sceneTex;\nconst vec3 lumCoef = vec3(0.2126, 0.7152, 0.0722);\nvoid main() {\n\t vec4 bloomCol = texture2D(bloomTex, gl_TexCoord[1].xy);\n\t vec4 sceneCol = texture2DRect(sceneTex, gl_TexCoord[0].xy);\n\t float preLum = 0.99*dot(lumCoef, sceneCol.rgb)+0.01;\n    float postLum = preLum*(1.0+(preLum/params.y))/(preLum+1.0);\n\t gl_FragColor = sceneCol*(postLum/preLum)+bloomCol*params.x;\n}\n")});
            this.aClass137_10178 = Class137.method2619(this.aClass545_Sub1_8764, new Class130[]{Class130.method2490(this.aClass545_Sub1_8764, '\u8b30', "uniform vec3 step;\nuniform sampler2D baseTex;\nvoid main() {\n\tvec4 fragCol = texture2D(baseTex, gl_TexCoord[0].xy)*0.091396265;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-1.0*step.xy))*0.088584304;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 1.0*step.xy))*0.088584304;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-2.0*step.xy))*0.08065692;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 2.0*step.xy))*0.08065692;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-3.0*step.xy))*0.068989515;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 3.0*step.xy))*0.068989515;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-4.0*step.xy))*0.055434637;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 4.0*step.xy))*0.055434637;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-5.0*step.xy))*0.04184426;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 5.0*step.xy))*0.04184426;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-6.0*step.xy))*0.029672023;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 6.0*step.xy))*0.029672023;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-7.0*step.xy))*0.019765828;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 7.0*step.xy))*0.019765828;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-8.0*step.xy))*0.012369139;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 8.0*step.xy))*0.012369139;\n\tgl_FragColor = fragCol;\n}\n")});
            return this.aClass137_10172 != null && this.aClass137_10179 != null && this.aClass137_10170 != null && this.aClass137_10178 != null;
         }
      } else {
         return false;
      }
   }

   boolean method14130() {
      return this.aClass151_Sub1_Sub2_10167 != null;
   }

   Class91 method14145() {
      return Class91.aClass91_903;
   }

   void method14147(int var1, Class147_Sub4 var2, Class147_Sub4 var3) {
      OpenGL.glPushAttrib(2048);
      OpenGL.glMatrixMode(5889);
      OpenGL.glPushMatrix();
      OpenGL.glLoadIdentity();
      OpenGL.glOrtho(0.0D, 1.0D, 0.0D, 1.0D, -1.0D, 1.0D);
      int var4;
      int var5;
      if(this.aClass147_Sub4Array10171 != null) {
         this.aClass545_Sub1_8764.method11451(this.aClass151_Sub1_Sub2_10168, -543666943);
         var4 = Class526.method11090(this.anInt10162, (byte)-93);
         var5 = Class526.method11090(this.anInt10169, (byte)4);

         int var6;
         for(var6 = 0; var4 > 256 || var5 > 256; ++var6) {
            OpenGL.glViewport(0, 0, var4, var5);
            this.aClass151_Sub1_Sub2_10168.method14460(0, this.aClass147_Sub4Array10171[var6].method15466(0));
            if(var6 == 0) {
               this.aClass545_Sub1_8764.method14725(var2);
               OpenGL.glBegin(7);
               OpenGL.glTexCoord2f(0.0F, 0.0F);
               OpenGL.glVertex2i(0, 0);
               OpenGL.glTexCoord2f((float)this.anInt10162, 0.0F);
               OpenGL.glVertex2i(1, 0);
               OpenGL.glTexCoord2f((float)this.anInt10162, (float)this.anInt10169);
               OpenGL.glVertex2i(1, 1);
               OpenGL.glTexCoord2f(0.0F, (float)this.anInt10169);
               OpenGL.glVertex2i(0, 1);
               OpenGL.glEnd();
            } else {
               this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4Array10171[var6 - 1]);
               OpenGL.glBegin(7);
               OpenGL.glTexCoord2f(0.0F, 0.0F);
               OpenGL.glVertex2i(0, 0);
               OpenGL.glTexCoord2f(1.0F, 0.0F);
               OpenGL.glVertex2i(1, 0);
               OpenGL.glTexCoord2f(1.0F, 1.0F);
               OpenGL.glVertex2i(1, 1);
               OpenGL.glTexCoord2f(0.0F, 1.0F);
               OpenGL.glVertex2i(0, 1);
               OpenGL.glEnd();
            }

            if(var4 > 256) {
               var4 >>= 1;
            }

            if(var5 > 256) {
               var5 >>= 1;
            }
         }

         this.aClass545_Sub1_8764.method11672(this.aClass151_Sub1_Sub2_10168, (byte)56);
         this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4Array10171[var6 - 1]);
         this.aClass545_Sub1_8764.method11451(this.aClass151_Sub1_Sub2_10167, -543666943);
         this.aClass151_Sub1_Sub2_10167.method15794(0);
         OpenGL.glViewport(0, 0, 256, 256);
         int var7 = this.aClass137_10172.anInt1606;
         OpenGL.glUseProgram(var7);
         OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var7, "sceneTex"), 0);
         OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var7, "params"), aFloat10175, 0.0F, 0.0F);
         OpenGL.glBegin(7);
         OpenGL.glTexCoord2f(0.0F, 0.0F);
         OpenGL.glVertex2i(0, 0);
         OpenGL.glTexCoord2f(1.0F, 0.0F);
         OpenGL.glVertex2i(1, 0);
         OpenGL.glTexCoord2f(1.0F, 1.0F);
         OpenGL.glVertex2i(1, 1);
         OpenGL.glTexCoord2f(0.0F, 1.0F);
         OpenGL.glVertex2i(0, 1);
         OpenGL.glEnd();
      } else {
         this.aClass545_Sub1_8764.method14725(var2);
         this.aClass545_Sub1_8764.method11451(this.aClass151_Sub1_Sub2_10167, -543666943);
         this.aClass151_Sub1_Sub2_10167.method15794(0);
         OpenGL.glViewport(0, 0, 256, 256);
         var4 = this.aClass137_10179.anInt1606;
         OpenGL.glUseProgram(var4);
         OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var4, "sceneTex"), 0);
         OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var4, "params"), aFloat10175, 0.0F, 0.0F);
         OpenGL.glBegin(7);
         OpenGL.glTexCoord2f(0.0F, 0.0F);
         OpenGL.glVertex2i(0, 0);
         OpenGL.glTexCoord2f((float)this.anInt10162, 0.0F);
         OpenGL.glVertex2i(1, 0);
         OpenGL.glTexCoord2f((float)this.anInt10162, (float)this.anInt10169);
         OpenGL.glVertex2i(1, 1);
         OpenGL.glTexCoord2f(0.0F, (float)this.anInt10169);
         OpenGL.glVertex2i(0, 1);
         OpenGL.glEnd();
      }

      this.aClass151_Sub1_Sub2_10167.method15794(1);
      this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4_10163);
      var4 = this.aClass137_10178.anInt1606;
      OpenGL.glUseProgram(var4);
      OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var4, "baseTex"), 0);
      OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var4, "step"), 0.00390625F, 0.0F, 0.0F);
      OpenGL.glBegin(7);
      OpenGL.glTexCoord2f(0.0F, 0.0F);
      OpenGL.glVertex2i(0, 0);
      OpenGL.glTexCoord2f(1.0F, 0.0F);
      OpenGL.glVertex2i(1, 0);
      OpenGL.glTexCoord2f(1.0F, 1.0F);
      OpenGL.glVertex2i(1, 1);
      OpenGL.glTexCoord2f(0.0F, 1.0F);
      OpenGL.glVertex2i(0, 1);
      OpenGL.glEnd();
      this.aClass151_Sub1_Sub2_10167.method15794(0);
      this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4_10173);
      OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var4, "step"), 0.0F, 0.00390625F, 0.0F);
      OpenGL.glBegin(7);
      OpenGL.glTexCoord2f(0.0F, 0.0F);
      OpenGL.glVertex2i(0, 0);
      OpenGL.glTexCoord2f(1.0F, 0.0F);
      OpenGL.glVertex2i(1, 0);
      OpenGL.glTexCoord2f(1.0F, 1.0F);
      OpenGL.glVertex2i(1, 1);
      OpenGL.glTexCoord2f(0.0F, 1.0F);
      OpenGL.glVertex2i(0, 1);
      OpenGL.glEnd();
      OpenGL.glPopAttrib();
      OpenGL.glPopMatrix();
      OpenGL.glMatrixMode(5888);
      this.aClass545_Sub1_8764.method11672(this.aClass151_Sub1_Sub2_10167, (byte)67);
      var5 = this.aClass137_10170.anInt1606;
      OpenGL.glUseProgram(var5);
      OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var5, "sceneTex"), 0);
      OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var5, "bloomTex"), 1);
      OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var5, "params"), aFloat10177, aFloat10161, 0.0F);
      this.aClass545_Sub1_8764.method14641(1);
      this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4_10163);
      this.aClass545_Sub1_8764.method14641(0);
      this.aClass545_Sub1_8764.method14725(var2);
   }

   boolean method14154() {
      return this.aClass151_Sub1_Sub2_10167 != null;
   }

   void method14134(int var1) {
      OpenGL.glUseProgram(0);
      this.aClass545_Sub1_8764.method14641(1);
      this.aClass545_Sub1_8764.method14725((Class147)null);
      this.aClass545_Sub1_8764.method14641(0);
   }

   Class225_Sub42_Sub1(Class545_Sub1 var1) {
      super(var1);
   }

   void method14133(int var1, Class147_Sub4 var2, Class147_Sub4 var3) {
      OpenGL.glPushAttrib(2048);
      OpenGL.glMatrixMode(5889);
      OpenGL.glPushMatrix();
      OpenGL.glLoadIdentity();
      OpenGL.glOrtho(0.0D, 1.0D, 0.0D, 1.0D, -1.0D, 1.0D);
      int var4;
      int var5;
      if(this.aClass147_Sub4Array10171 != null) {
         this.aClass545_Sub1_8764.method11451(this.aClass151_Sub1_Sub2_10168, -543666943);
         var4 = Class526.method11090(this.anInt10162, (byte)4);
         var5 = Class526.method11090(this.anInt10169, (byte)15);

         int var6;
         for(var6 = 0; var4 > 256 || var5 > 256; ++var6) {
            OpenGL.glViewport(0, 0, var4, var5);
            this.aClass151_Sub1_Sub2_10168.method14460(0, this.aClass147_Sub4Array10171[var6].method15466(0));
            if(var6 == 0) {
               this.aClass545_Sub1_8764.method14725(var2);
               OpenGL.glBegin(7);
               OpenGL.glTexCoord2f(0.0F, 0.0F);
               OpenGL.glVertex2i(0, 0);
               OpenGL.glTexCoord2f((float)this.anInt10162, 0.0F);
               OpenGL.glVertex2i(1, 0);
               OpenGL.glTexCoord2f((float)this.anInt10162, (float)this.anInt10169);
               OpenGL.glVertex2i(1, 1);
               OpenGL.glTexCoord2f(0.0F, (float)this.anInt10169);
               OpenGL.glVertex2i(0, 1);
               OpenGL.glEnd();
            } else {
               this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4Array10171[var6 - 1]);
               OpenGL.glBegin(7);
               OpenGL.glTexCoord2f(0.0F, 0.0F);
               OpenGL.glVertex2i(0, 0);
               OpenGL.glTexCoord2f(1.0F, 0.0F);
               OpenGL.glVertex2i(1, 0);
               OpenGL.glTexCoord2f(1.0F, 1.0F);
               OpenGL.glVertex2i(1, 1);
               OpenGL.glTexCoord2f(0.0F, 1.0F);
               OpenGL.glVertex2i(0, 1);
               OpenGL.glEnd();
            }

            if(var4 > 256) {
               var4 >>= 1;
            }

            if(var5 > 256) {
               var5 >>= 1;
            }
         }

         this.aClass545_Sub1_8764.method11672(this.aClass151_Sub1_Sub2_10168, (byte)48);
         this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4Array10171[var6 - 1]);
         this.aClass545_Sub1_8764.method11451(this.aClass151_Sub1_Sub2_10167, -543666943);
         this.aClass151_Sub1_Sub2_10167.method15794(0);
         OpenGL.glViewport(0, 0, 256, 256);
         int var7 = this.aClass137_10172.anInt1606;
         OpenGL.glUseProgram(var7);
         OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var7, "sceneTex"), 0);
         OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var7, "params"), aFloat10175, 0.0F, 0.0F);
         OpenGL.glBegin(7);
         OpenGL.glTexCoord2f(0.0F, 0.0F);
         OpenGL.glVertex2i(0, 0);
         OpenGL.glTexCoord2f(1.0F, 0.0F);
         OpenGL.glVertex2i(1, 0);
         OpenGL.glTexCoord2f(1.0F, 1.0F);
         OpenGL.glVertex2i(1, 1);
         OpenGL.glTexCoord2f(0.0F, 1.0F);
         OpenGL.glVertex2i(0, 1);
         OpenGL.glEnd();
      } else {
         this.aClass545_Sub1_8764.method14725(var2);
         this.aClass545_Sub1_8764.method11451(this.aClass151_Sub1_Sub2_10167, -543666943);
         this.aClass151_Sub1_Sub2_10167.method15794(0);
         OpenGL.glViewport(0, 0, 256, 256);
         var4 = this.aClass137_10179.anInt1606;
         OpenGL.glUseProgram(var4);
         OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var4, "sceneTex"), 0);
         OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var4, "params"), aFloat10175, 0.0F, 0.0F);
         OpenGL.glBegin(7);
         OpenGL.glTexCoord2f(0.0F, 0.0F);
         OpenGL.glVertex2i(0, 0);
         OpenGL.glTexCoord2f((float)this.anInt10162, 0.0F);
         OpenGL.glVertex2i(1, 0);
         OpenGL.glTexCoord2f((float)this.anInt10162, (float)this.anInt10169);
         OpenGL.glVertex2i(1, 1);
         OpenGL.glTexCoord2f(0.0F, (float)this.anInt10169);
         OpenGL.glVertex2i(0, 1);
         OpenGL.glEnd();
      }

      this.aClass151_Sub1_Sub2_10167.method15794(1);
      this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4_10163);
      var4 = this.aClass137_10178.anInt1606;
      OpenGL.glUseProgram(var4);
      OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var4, "baseTex"), 0);
      OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var4, "step"), 0.00390625F, 0.0F, 0.0F);
      OpenGL.glBegin(7);
      OpenGL.glTexCoord2f(0.0F, 0.0F);
      OpenGL.glVertex2i(0, 0);
      OpenGL.glTexCoord2f(1.0F, 0.0F);
      OpenGL.glVertex2i(1, 0);
      OpenGL.glTexCoord2f(1.0F, 1.0F);
      OpenGL.glVertex2i(1, 1);
      OpenGL.glTexCoord2f(0.0F, 1.0F);
      OpenGL.glVertex2i(0, 1);
      OpenGL.glEnd();
      this.aClass151_Sub1_Sub2_10167.method15794(0);
      this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4_10173);
      OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var4, "step"), 0.0F, 0.00390625F, 0.0F);
      OpenGL.glBegin(7);
      OpenGL.glTexCoord2f(0.0F, 0.0F);
      OpenGL.glVertex2i(0, 0);
      OpenGL.glTexCoord2f(1.0F, 0.0F);
      OpenGL.glVertex2i(1, 0);
      OpenGL.glTexCoord2f(1.0F, 1.0F);
      OpenGL.glVertex2i(1, 1);
      OpenGL.glTexCoord2f(0.0F, 1.0F);
      OpenGL.glVertex2i(0, 1);
      OpenGL.glEnd();
      OpenGL.glPopAttrib();
      OpenGL.glPopMatrix();
      OpenGL.glMatrixMode(5888);
      this.aClass545_Sub1_8764.method11672(this.aClass151_Sub1_Sub2_10167, (byte)28);
      var5 = this.aClass137_10170.anInt1606;
      OpenGL.glUseProgram(var5);
      OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var5, "sceneTex"), 0);
      OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var5, "bloomTex"), 1);
      OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var5, "params"), aFloat10177, aFloat10161, 0.0F);
      this.aClass545_Sub1_8764.method14641(1);
      this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4_10163);
      this.aClass545_Sub1_8764.method14641(0);
      this.aClass545_Sub1_8764.method14725(var2);
   }

   void method14144() {
      this.anInt10160 = -1;
      this.anInt10174 = -1;
      this.aClass151_Sub1_Sub2_10168 = null;
      this.aClass147_Sub4Array10171 = null;
      this.aClass151_Sub1_Sub2_10167 = null;
      this.aClass147_Sub4_10163 = null;
      this.aClass147_Sub4_10173 = null;
      this.aClass137_10179 = null;
      this.aClass137_10172 = null;
      this.aClass137_10170 = null;
      this.aClass137_10178 = null;
   }

   void method14156() {
      this.anInt10160 = -1;
      this.anInt10174 = -1;
      this.aClass151_Sub1_Sub2_10168 = null;
      this.aClass147_Sub4Array10171 = null;
      this.aClass151_Sub1_Sub2_10167 = null;
      this.aClass147_Sub4_10163 = null;
      this.aClass147_Sub4_10173 = null;
      this.aClass137_10179 = null;
      this.aClass137_10172 = null;
      this.aClass137_10170 = null;
      this.aClass137_10178 = null;
   }

   void method14146(int var1, int var2) {
      this.anInt10162 = var1;
      this.anInt10169 = var2;
      int var3 = Class526.method11090(this.anInt10162, (byte)-3);
      int var4 = Class526.method11090(this.anInt10169, (byte)-58);
      if(this.anInt10174 != var3 || this.anInt10160 != var4) {
         int var5;
         if(this.aClass147_Sub4Array10171 != null) {
            for(var5 = 0; var5 < this.aClass147_Sub4Array10171.length; ++var5) {
               this.aClass147_Sub4Array10171[var5].method2698();
            }

            this.aClass147_Sub4Array10171 = null;
         }

         if(var3 <= 256 && var4 <= 256) {
            this.aClass151_Sub1_Sub2_10168 = null;
         } else {
            var5 = var3;
            int var6 = var4;

            int var7;
            for(var7 = 0; var5 > 256 || var6 > 256; ++var7) {
               if(var5 > 256) {
                  var5 >>= 1;
               }

               if(var6 > 256) {
                  var6 >>= 1;
               }
            }

            if(this.aClass151_Sub1_Sub2_10168 == null) {
               this.aClass151_Sub1_Sub2_10168 = new Class151_Sub1_Sub2(this.aClass545_Sub1_8764);
            }

            this.aClass147_Sub4Array10171 = new Class147_Sub4[var7];
            var5 = var3;
            var6 = var4;
            var7 = 0;

            while(var5 > 256 || var6 > 256) {
               this.aClass147_Sub4Array10171[var7++] = new Class147_Sub4(this.aClass545_Sub1_8764, 3553, Class98.aClass98_992, Class91.aClass91_903, var5, var6);
               if(var5 > 256) {
                  var5 >>= 1;
               }

               if(var6 > 256) {
                  var6 >>= 1;
               }
            }
         }

         this.anInt10174 = var3;
         this.anInt10160 = var4;
      }

   }

   void method14141(int var1, Class147_Sub4 var2, Class147_Sub4 var3) {
      OpenGL.glPushAttrib(2048);
      OpenGL.glMatrixMode(5889);
      OpenGL.glPushMatrix();
      OpenGL.glLoadIdentity();
      OpenGL.glOrtho(0.0D, 1.0D, 0.0D, 1.0D, -1.0D, 1.0D);
      int var4;
      int var5;
      if(this.aClass147_Sub4Array10171 != null) {
         this.aClass545_Sub1_8764.method11451(this.aClass151_Sub1_Sub2_10168, -543666943);
         var4 = Class526.method11090(this.anInt10162, (byte)107);
         var5 = Class526.method11090(this.anInt10169, (byte)-37);

         int var6;
         for(var6 = 0; var4 > 256 || var5 > 256; ++var6) {
            OpenGL.glViewport(0, 0, var4, var5);
            this.aClass151_Sub1_Sub2_10168.method14460(0, this.aClass147_Sub4Array10171[var6].method15466(0));
            if(var6 == 0) {
               this.aClass545_Sub1_8764.method14725(var2);
               OpenGL.glBegin(7);
               OpenGL.glTexCoord2f(0.0F, 0.0F);
               OpenGL.glVertex2i(0, 0);
               OpenGL.glTexCoord2f((float)this.anInt10162, 0.0F);
               OpenGL.glVertex2i(1, 0);
               OpenGL.glTexCoord2f((float)this.anInt10162, (float)this.anInt10169);
               OpenGL.glVertex2i(1, 1);
               OpenGL.glTexCoord2f(0.0F, (float)this.anInt10169);
               OpenGL.glVertex2i(0, 1);
               OpenGL.glEnd();
            } else {
               this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4Array10171[var6 - 1]);
               OpenGL.glBegin(7);
               OpenGL.glTexCoord2f(0.0F, 0.0F);
               OpenGL.glVertex2i(0, 0);
               OpenGL.glTexCoord2f(1.0F, 0.0F);
               OpenGL.glVertex2i(1, 0);
               OpenGL.glTexCoord2f(1.0F, 1.0F);
               OpenGL.glVertex2i(1, 1);
               OpenGL.glTexCoord2f(0.0F, 1.0F);
               OpenGL.glVertex2i(0, 1);
               OpenGL.glEnd();
            }

            if(var4 > 256) {
               var4 >>= 1;
            }

            if(var5 > 256) {
               var5 >>= 1;
            }
         }

         this.aClass545_Sub1_8764.method11672(this.aClass151_Sub1_Sub2_10168, (byte)31);
         this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4Array10171[var6 - 1]);
         this.aClass545_Sub1_8764.method11451(this.aClass151_Sub1_Sub2_10167, -543666943);
         this.aClass151_Sub1_Sub2_10167.method15794(0);
         OpenGL.glViewport(0, 0, 256, 256);
         int var7 = this.aClass137_10172.anInt1606;
         OpenGL.glUseProgram(var7);
         OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var7, "sceneTex"), 0);
         OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var7, "params"), aFloat10175, 0.0F, 0.0F);
         OpenGL.glBegin(7);
         OpenGL.glTexCoord2f(0.0F, 0.0F);
         OpenGL.glVertex2i(0, 0);
         OpenGL.glTexCoord2f(1.0F, 0.0F);
         OpenGL.glVertex2i(1, 0);
         OpenGL.glTexCoord2f(1.0F, 1.0F);
         OpenGL.glVertex2i(1, 1);
         OpenGL.glTexCoord2f(0.0F, 1.0F);
         OpenGL.glVertex2i(0, 1);
         OpenGL.glEnd();
      } else {
         this.aClass545_Sub1_8764.method14725(var2);
         this.aClass545_Sub1_8764.method11451(this.aClass151_Sub1_Sub2_10167, -543666943);
         this.aClass151_Sub1_Sub2_10167.method15794(0);
         OpenGL.glViewport(0, 0, 256, 256);
         var4 = this.aClass137_10179.anInt1606;
         OpenGL.glUseProgram(var4);
         OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var4, "sceneTex"), 0);
         OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var4, "params"), aFloat10175, 0.0F, 0.0F);
         OpenGL.glBegin(7);
         OpenGL.glTexCoord2f(0.0F, 0.0F);
         OpenGL.glVertex2i(0, 0);
         OpenGL.glTexCoord2f((float)this.anInt10162, 0.0F);
         OpenGL.glVertex2i(1, 0);
         OpenGL.glTexCoord2f((float)this.anInt10162, (float)this.anInt10169);
         OpenGL.glVertex2i(1, 1);
         OpenGL.glTexCoord2f(0.0F, (float)this.anInt10169);
         OpenGL.glVertex2i(0, 1);
         OpenGL.glEnd();
      }

      this.aClass151_Sub1_Sub2_10167.method15794(1);
      this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4_10163);
      var4 = this.aClass137_10178.anInt1606;
      OpenGL.glUseProgram(var4);
      OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var4, "baseTex"), 0);
      OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var4, "step"), 0.00390625F, 0.0F, 0.0F);
      OpenGL.glBegin(7);
      OpenGL.glTexCoord2f(0.0F, 0.0F);
      OpenGL.glVertex2i(0, 0);
      OpenGL.glTexCoord2f(1.0F, 0.0F);
      OpenGL.glVertex2i(1, 0);
      OpenGL.glTexCoord2f(1.0F, 1.0F);
      OpenGL.glVertex2i(1, 1);
      OpenGL.glTexCoord2f(0.0F, 1.0F);
      OpenGL.glVertex2i(0, 1);
      OpenGL.glEnd();
      this.aClass151_Sub1_Sub2_10167.method15794(0);
      this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4_10173);
      OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var4, "step"), 0.0F, 0.00390625F, 0.0F);
      OpenGL.glBegin(7);
      OpenGL.glTexCoord2f(0.0F, 0.0F);
      OpenGL.glVertex2i(0, 0);
      OpenGL.glTexCoord2f(1.0F, 0.0F);
      OpenGL.glVertex2i(1, 0);
      OpenGL.glTexCoord2f(1.0F, 1.0F);
      OpenGL.glVertex2i(1, 1);
      OpenGL.glTexCoord2f(0.0F, 1.0F);
      OpenGL.glVertex2i(0, 1);
      OpenGL.glEnd();
      OpenGL.glPopAttrib();
      OpenGL.glPopMatrix();
      OpenGL.glMatrixMode(5888);
      this.aClass545_Sub1_8764.method11672(this.aClass151_Sub1_Sub2_10167, (byte)59);
      var5 = this.aClass137_10170.anInt1606;
      OpenGL.glUseProgram(var5);
      OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var5, "sceneTex"), 0);
      OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var5, "bloomTex"), 1);
      OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var5, "params"), aFloat10177, aFloat10161, 0.0F);
      this.aClass545_Sub1_8764.method14641(1);
      this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4_10163);
      this.aClass545_Sub1_8764.method14641(0);
      this.aClass545_Sub1_8764.method14725(var2);
   }

   boolean method14135() {
      return this.aClass151_Sub1_Sub2_10167 != null;
   }

   void method14132() {
      this.anInt10160 = -1;
      this.anInt10174 = -1;
      this.aClass151_Sub1_Sub2_10168 = null;
      this.aClass147_Sub4Array10171 = null;
      this.aClass151_Sub1_Sub2_10167 = null;
      this.aClass147_Sub4_10163 = null;
      this.aClass147_Sub4_10173 = null;
      this.aClass137_10179 = null;
      this.aClass137_10172 = null;
      this.aClass137_10170 = null;
      this.aClass137_10178 = null;
   }

   void method14150(int var1, Class147_Sub4 var2, Class147_Sub4 var3) {
      OpenGL.glPushAttrib(2048);
      OpenGL.glMatrixMode(5889);
      OpenGL.glPushMatrix();
      OpenGL.glLoadIdentity();
      OpenGL.glOrtho(0.0D, 1.0D, 0.0D, 1.0D, -1.0D, 1.0D);
      int var4;
      int var5;
      if(this.aClass147_Sub4Array10171 != null) {
         this.aClass545_Sub1_8764.method11451(this.aClass151_Sub1_Sub2_10168, -543666943);
         var4 = Class526.method11090(this.anInt10162, (byte)-42);
         var5 = Class526.method11090(this.anInt10169, (byte)-24);

         int var6;
         for(var6 = 0; var4 > 256 || var5 > 256; ++var6) {
            OpenGL.glViewport(0, 0, var4, var5);
            this.aClass151_Sub1_Sub2_10168.method14460(0, this.aClass147_Sub4Array10171[var6].method15466(0));
            if(var6 == 0) {
               this.aClass545_Sub1_8764.method14725(var2);
               OpenGL.glBegin(7);
               OpenGL.glTexCoord2f(0.0F, 0.0F);
               OpenGL.glVertex2i(0, 0);
               OpenGL.glTexCoord2f((float)this.anInt10162, 0.0F);
               OpenGL.glVertex2i(1, 0);
               OpenGL.glTexCoord2f((float)this.anInt10162, (float)this.anInt10169);
               OpenGL.glVertex2i(1, 1);
               OpenGL.glTexCoord2f(0.0F, (float)this.anInt10169);
               OpenGL.glVertex2i(0, 1);
               OpenGL.glEnd();
            } else {
               this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4Array10171[var6 - 1]);
               OpenGL.glBegin(7);
               OpenGL.glTexCoord2f(0.0F, 0.0F);
               OpenGL.glVertex2i(0, 0);
               OpenGL.glTexCoord2f(1.0F, 0.0F);
               OpenGL.glVertex2i(1, 0);
               OpenGL.glTexCoord2f(1.0F, 1.0F);
               OpenGL.glVertex2i(1, 1);
               OpenGL.glTexCoord2f(0.0F, 1.0F);
               OpenGL.glVertex2i(0, 1);
               OpenGL.glEnd();
            }

            if(var4 > 256) {
               var4 >>= 1;
            }

            if(var5 > 256) {
               var5 >>= 1;
            }
         }

         this.aClass545_Sub1_8764.method11672(this.aClass151_Sub1_Sub2_10168, (byte)33);
         this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4Array10171[var6 - 1]);
         this.aClass545_Sub1_8764.method11451(this.aClass151_Sub1_Sub2_10167, -543666943);
         this.aClass151_Sub1_Sub2_10167.method15794(0);
         OpenGL.glViewport(0, 0, 256, 256);
         int var7 = this.aClass137_10172.anInt1606;
         OpenGL.glUseProgram(var7);
         OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var7, "sceneTex"), 0);
         OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var7, "params"), aFloat10175, 0.0F, 0.0F);
         OpenGL.glBegin(7);
         OpenGL.glTexCoord2f(0.0F, 0.0F);
         OpenGL.glVertex2i(0, 0);
         OpenGL.glTexCoord2f(1.0F, 0.0F);
         OpenGL.glVertex2i(1, 0);
         OpenGL.glTexCoord2f(1.0F, 1.0F);
         OpenGL.glVertex2i(1, 1);
         OpenGL.glTexCoord2f(0.0F, 1.0F);
         OpenGL.glVertex2i(0, 1);
         OpenGL.glEnd();
      } else {
         this.aClass545_Sub1_8764.method14725(var2);
         this.aClass545_Sub1_8764.method11451(this.aClass151_Sub1_Sub2_10167, -543666943);
         this.aClass151_Sub1_Sub2_10167.method15794(0);
         OpenGL.glViewport(0, 0, 256, 256);
         var4 = this.aClass137_10179.anInt1606;
         OpenGL.glUseProgram(var4);
         OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var4, "sceneTex"), 0);
         OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var4, "params"), aFloat10175, 0.0F, 0.0F);
         OpenGL.glBegin(7);
         OpenGL.glTexCoord2f(0.0F, 0.0F);
         OpenGL.glVertex2i(0, 0);
         OpenGL.glTexCoord2f((float)this.anInt10162, 0.0F);
         OpenGL.glVertex2i(1, 0);
         OpenGL.glTexCoord2f((float)this.anInt10162, (float)this.anInt10169);
         OpenGL.glVertex2i(1, 1);
         OpenGL.glTexCoord2f(0.0F, (float)this.anInt10169);
         OpenGL.glVertex2i(0, 1);
         OpenGL.glEnd();
      }

      this.aClass151_Sub1_Sub2_10167.method15794(1);
      this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4_10163);
      var4 = this.aClass137_10178.anInt1606;
      OpenGL.glUseProgram(var4);
      OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var4, "baseTex"), 0);
      OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var4, "step"), 0.00390625F, 0.0F, 0.0F);
      OpenGL.glBegin(7);
      OpenGL.glTexCoord2f(0.0F, 0.0F);
      OpenGL.glVertex2i(0, 0);
      OpenGL.glTexCoord2f(1.0F, 0.0F);
      OpenGL.glVertex2i(1, 0);
      OpenGL.glTexCoord2f(1.0F, 1.0F);
      OpenGL.glVertex2i(1, 1);
      OpenGL.glTexCoord2f(0.0F, 1.0F);
      OpenGL.glVertex2i(0, 1);
      OpenGL.glEnd();
      this.aClass151_Sub1_Sub2_10167.method15794(0);
      this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4_10173);
      OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var4, "step"), 0.0F, 0.00390625F, 0.0F);
      OpenGL.glBegin(7);
      OpenGL.glTexCoord2f(0.0F, 0.0F);
      OpenGL.glVertex2i(0, 0);
      OpenGL.glTexCoord2f(1.0F, 0.0F);
      OpenGL.glVertex2i(1, 0);
      OpenGL.glTexCoord2f(1.0F, 1.0F);
      OpenGL.glVertex2i(1, 1);
      OpenGL.glTexCoord2f(0.0F, 1.0F);
      OpenGL.glVertex2i(0, 1);
      OpenGL.glEnd();
      OpenGL.glPopAttrib();
      OpenGL.glPopMatrix();
      OpenGL.glMatrixMode(5888);
      this.aClass545_Sub1_8764.method11672(this.aClass151_Sub1_Sub2_10167, (byte)54);
      var5 = this.aClass137_10170.anInt1606;
      OpenGL.glUseProgram(var5);
      OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var5, "sceneTex"), 0);
      OpenGL.glUniform1i(OpenGL.glGetUniformLocation(var5, "bloomTex"), 1);
      OpenGL.glUniform3f(OpenGL.glGetUniformLocation(var5, "params"), aFloat10177, aFloat10161, 0.0F);
      this.aClass545_Sub1_8764.method14641(1);
      this.aClass545_Sub1_8764.method14725(this.aClass147_Sub4_10163);
      this.aClass545_Sub1_8764.method14641(0);
      this.aClass545_Sub1_8764.method14725(var2);
   }

   void method14151(int var1) {
      OpenGL.glUseProgram(0);
      this.aClass545_Sub1_8764.method14641(1);
      this.aClass545_Sub1_8764.method14725((Class147)null);
      this.aClass545_Sub1_8764.method14641(0);
   }

   void method14152(int var1) {
      OpenGL.glUseProgram(0);
      this.aClass545_Sub1_8764.method14641(1);
      this.aClass545_Sub1_8764.method14725((Class147)null);
      this.aClass545_Sub1_8764.method14641(0);
   }

   Class91 method14155() {
      return Class91.aClass91_903;
   }

   Class91 method14139() {
      return Class91.aClass91_903;
   }

   boolean method15777() {
      return this.aClass545_Sub1_8764.aBool9266 && this.aClass545_Sub1_8764.aBool9281 && this.aClass545_Sub1_8764.aBool9277;
   }
}
