/* Class487_Sub4_Sub3 - Decompiled by JODE
 * Visit http://jode.sourceforge.net/
 */
import jaggl.OpenGL;

public class Class487_Sub4_Sub3 extends Class487_Sub4
{
    static final String aString11320
	= "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 float aFloat11321 = 0.25F;
    Class90 aClass90_11322;
    static final String aString11323
	= "#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";
    static float aFloat11324 = 1.0F;
    static final String aString11325
	= "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";
    Class100_Sub3 aClass100_Sub3_11326;
    Class90 aClass90_11327;
    Class144_Sub2_Sub1 aClass144_Sub2_Sub1_11328;
    Class144_Sub2_Sub1 aClass144_Sub2_Sub1_11329;
    static final int anInt11330 = 256;
    Class100_Sub3 aClass100_Sub3_11331;
    Class100_Sub3[] aClass100_Sub3Array11332;
    int anInt11333;
    int anInt11334;
    int anInt11335;
    Class90 aClass90_11336;
    static float aFloat11337 = 1.0F;
    int anInt11338;
    Class90 aClass90_11339;
    static final String aString11340
	= "#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 = clamp(sceneCol*(postLum/preLum)+bloomCol*params.x,0.0,1.0);\n}\n";
    
    void method9086(int i, Class100_Sub3 class100_sub3,
		    Class100_Sub3 class100_sub3_0_, int i_1_, int i_2_) {
	OpenGL.glPushAttrib(2048);
	OpenGL.glMatrixMode(5889);
	OpenGL.glPushMatrix();
	OpenGL.glLoadIdentity();
	OpenGL.glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
	if (((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332 != null) {
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2014
		(((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329,
		 (byte) 17);
	    int i_3_
		= Class148.method1973(((Class487_Sub4_Sub3) this).anInt11333,
				      (byte) 105);
	    int i_4_
		= Class148.method1973(((Class487_Sub4_Sub3) this).anInt11334,
				      (byte) 127);
	    int i_5_ = 0;
	    while (i_3_ > 256 || i_4_ > 256) {
		OpenGL.glViewport(0, 0, i_3_, i_4_);
		((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329
		    .method8672
		    (0, ((Class487_Sub4_Sub3) this)
			    .aClass100_Sub3Array11332[i_5_].method8101(0));
		if (i_5_ == 0) {
		    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071
			.method8591(class100_sub3);
		    OpenGL.glBegin(7);
		    OpenGL.glTexCoord2f(0.0F,
					(float) ((((Class487_Sub4_Sub3) this)
						  .anInt11334)
						 - i_1_));
		    OpenGL.glVertex2i(0, 0);
		    OpenGL.glTexCoord2f((float) (0 + i_2_),
					(float) ((((Class487_Sub4_Sub3) this)
						  .anInt11334)
						 - i_1_));
		    OpenGL.glVertex2i(1, 0);
		    OpenGL.glTexCoord2f((float) (0 + i_2_),
					(float) (((Class487_Sub4_Sub3) this)
						 .anInt11334));
		    OpenGL.glVertex2i(1, 1);
		    OpenGL.glTexCoord2f(0.0F,
					(float) (((Class487_Sub4_Sub3) this)
						 .anInt11334));
		    OpenGL.glVertex2i(0, 1);
		    OpenGL.glEnd();
		} else {
		    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method8591
			(((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332
			 [i_5_ - 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 (i_3_ > 256)
		    i_3_ >>= 1;
		if (i_4_ > 256)
		    i_4_ >>= 1;
		i_5_++;
	    }
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2015
		(((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329,
		 -1921859173);
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method8591
		(((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332
		 [i_5_ - 1]);
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2014
		(((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328,
		 (byte) -29);
	    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328
		.method10152(0);
	    OpenGL.glViewport(0, 0, 256, 256);
	    int i_6_ = (((Class90) ((Class487_Sub4_Sub3) this).aClass90_11339)
			.anInt1234);
	    OpenGL.glUseProgram(i_6_);
	    OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_6_, "sceneTex"),
			       0);
	    OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_6_, "params"),
			       aFloat11337, 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 {
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071
		.method8591(class100_sub3);
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2014
		(((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328,
		 (byte) -63);
	    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328
		.method10152(0);
	    OpenGL.glViewport(0, 0, 256, 256);
	    int i_7_ = (((Class90) ((Class487_Sub4_Sub3) this).aClass90_11336)
			.anInt1234);
	    OpenGL.glUseProgram(i_7_);
	    OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_7_, "sceneTex"),
			       0);
	    OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_7_, "params"),
			       aFloat11337, 0.0F, 0.0F);
	    OpenGL.glBegin(7);
	    OpenGL.glTexCoord2f(0.0F, 0.0F);
	    OpenGL.glVertex2i(0, 0);
	    OpenGL.glTexCoord2f((float) ((Class487_Sub4_Sub3) this).anInt11333,
				0.0F);
	    OpenGL.glVertex2i(1, 0);
	    OpenGL.glTexCoord2f((float) ((Class487_Sub4_Sub3) this).anInt11333,
				(float) (((Class487_Sub4_Sub3) this)
					 .anInt11334));
	    OpenGL.glVertex2i(1, 1);
	    OpenGL.glTexCoord2f(0.0F, (float) (((Class487_Sub4_Sub3) this)
					       .anInt11334));
	    OpenGL.glVertex2i(0, 1);
	    OpenGL.glEnd();
	}
	((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328.method10152(1);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071
	    .method8591(((Class487_Sub4_Sub3) this).aClass100_Sub3_11326);
	int i_8_
	    = ((Class90) ((Class487_Sub4_Sub3) this).aClass90_11327).anInt1234;
	OpenGL.glUseProgram(i_8_);
	OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_8_, "baseTex"), 0);
	OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_8_, "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();
	((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328.method10152(0);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071
	    .method8591(((Class487_Sub4_Sub3) this).aClass100_Sub3_11331);
	OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_8_, "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);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2015
	    (((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328,
	     -1948845723);
	int i_9_
	    = ((Class90) ((Class487_Sub4_Sub3) this).aClass90_11322).anInt1234;
	OpenGL.glUseProgram(i_9_);
	OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_9_, "sceneTex"), 0);
	OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_9_, "bloomTex"), 1);
	OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_9_, "params"),
			   aFloat11321, aFloat11324, 0.0F);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method8590(1);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071
	    .method8591(((Class487_Sub4_Sub3) this).aClass100_Sub3_11326);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method8590(0);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071
	    .method8591(class100_sub3);
    }
    
    boolean method10273() {
	return (((Class151_Sub3)
		 ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071).aBool9364
		&& ((Class151_Sub3)
		    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071).aBool9381
		&& ((Class151_Sub3) (((Class487_Sub4_Sub3) this)
				     .aClass151_Sub3_10071)).aBool9376);
    }
    
    boolean method9076() {
	if ((((Class151_Sub3) ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071)
	     .aBool9364)
	    && ((Class151_Sub3)
		((Class487_Sub4_Sub3) this).aClass151_Sub3_10071).aBool9381
	    && ((Class151_Sub3)
		((Class487_Sub4_Sub3) this).aClass151_Sub3_10071).aBool9376) {
	    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328
		= new Class144_Sub2_Sub1(((Class487_Sub4_Sub3) this)
					 .aClass151_Sub3_10071);
	    ((Class487_Sub4_Sub3) this).aClass100_Sub3_11326
		= new Class100_Sub3((((Class487_Sub4_Sub3) this)
				     .aClass151_Sub3_10071),
				    3553, Class116.aClass116_1448,
				    method9090(), 256, 256);
	    ((Class487_Sub4_Sub3) this).aClass100_Sub3_11326.method8098(false,
									false);
	    ((Class487_Sub4_Sub3) this).aClass100_Sub3_11331
		= new Class100_Sub3((((Class487_Sub4_Sub3) this)
				     .aClass151_Sub3_10071),
				    3553, Class116.aClass116_1448,
				    method9090(), 256, 256);
	    ((Class487_Sub4_Sub3) this).aClass100_Sub3_11331.method8098(false,
									false);
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2014
		(((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328,
		 (byte) 85);
	    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328.method8672
		(0, ((Class487_Sub4_Sub3) this).aClass100_Sub3_11326
			.method8101(0));
	    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328.method8672
		(1, ((Class487_Sub4_Sub3) this).aClass100_Sub3_11331
			.method8101(0));
	    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328
		.method10152(0);
	    if (!((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328
		     .method8673()) {
		((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2015
		    (((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328,
		     -1955130888);
		return false;
	    }
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2015
		(((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328,
		 -1654482576);
	    ((Class487_Sub4_Sub3) this).aClass90_11336
		= (Class90.method1246
		   (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
		    (new Class102[]
		     { Class102.method1407
		       (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
			35632,
			"#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") })));
	    ((Class487_Sub4_Sub3) this).aClass90_11339
		= (Class90.method1246
		   (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
		    (new Class102[]
		     { Class102.method1407
		       (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
			35632,
			"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") })));
	    ((Class487_Sub4_Sub3) this).aClass90_11322
		= (Class90.method1246
		   (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
		    (new Class102[]
		     { Class102.method1407
		       (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
			35632,
			"#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 = clamp(sceneCol*(postLum/preLum)+bloomCol*params.x,0.0,1.0);\n}\n") })));
	    ((Class487_Sub4_Sub3) this).aClass90_11327
		= (Class90.method1246
		   (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
		    (new Class102[]
		     { Class102.method1407
		       (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
			35632,
			"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 (((Class487_Sub4_Sub3) this).aClass90_11339 != null
		    && ((Class487_Sub4_Sub3) this).aClass90_11336 != null
		    && ((Class487_Sub4_Sub3) this).aClass90_11322 != null
		    && ((Class487_Sub4_Sub3) this).aClass90_11327 != null);
	}
	return false;
    }
    
    boolean method9064() {
	return ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328 != null;
    }
    
    void method9067(int i, int i_10_) {
	((Class487_Sub4_Sub3) this).anInt11333 = i;
	((Class487_Sub4_Sub3) this).anInt11334 = i_10_;
	int i_11_ = Class148.method1973(((Class487_Sub4_Sub3) this).anInt11333,
					(byte) 19);
	int i_12_ = Class148.method1973(((Class487_Sub4_Sub3) this).anInt11334,
					(byte) 68);
	if (((Class487_Sub4_Sub3) this).anInt11335 != i_11_
	    || ((Class487_Sub4_Sub3) this).anInt11338 != i_12_) {
	    if (((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332 != null) {
		for (int i_13_ = 0;
		     i_13_ < (((Class487_Sub4_Sub3) this)
			      .aClass100_Sub3Array11332).length;
		     i_13_++)
		    ((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332
			[i_13_].method1379();
		((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332 = null;
	    }
	    if (i_11_ > 256 || i_12_ > 256) {
		int i_14_ = i_11_;
		int i_15_ = i_12_;
		int i_16_ = 0;
		while (i_14_ > 256 || i_15_ > 256) {
		    if (i_14_ > 256)
			i_14_ >>= 1;
		    if (i_15_ > 256)
			i_15_ >>= 1;
		    i_16_++;
		}
		if (((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329
		    == null)
		    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329
			= new Class144_Sub2_Sub1(((Class487_Sub4_Sub3) this)
						 .aClass151_Sub3_10071);
		((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332
		    = new Class100_Sub3[i_16_];
		i_14_ = i_11_;
		i_15_ = i_12_;
		i_16_ = 0;
		while (i_14_ > 256 || i_15_ > 256) {
		    ((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332
			[i_16_++]
			= new Class100_Sub3((((Class487_Sub4_Sub3) this)
					     .aClass151_Sub3_10071),
					    3553, Class116.aClass116_1448,
					    method9090(), i_14_, i_15_);
		    if (i_14_ > 256)
			i_14_ >>= 1;
		    if (i_15_ > 256)
			i_15_ >>= 1;
		}
	    } else
		((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329 = null;
	    ((Class487_Sub4_Sub3) this).anInt11335 = i_11_;
	    ((Class487_Sub4_Sub3) this).anInt11338 = i_12_;
	}
    }
    
    boolean method9089() {
	if ((((Class151_Sub3) ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071)
	     .aBool9364)
	    && ((Class151_Sub3)
		((Class487_Sub4_Sub3) this).aClass151_Sub3_10071).aBool9381
	    && ((Class151_Sub3)
		((Class487_Sub4_Sub3) this).aClass151_Sub3_10071).aBool9376) {
	    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328
		= new Class144_Sub2_Sub1(((Class487_Sub4_Sub3) this)
					 .aClass151_Sub3_10071);
	    ((Class487_Sub4_Sub3) this).aClass100_Sub3_11326
		= new Class100_Sub3((((Class487_Sub4_Sub3) this)
				     .aClass151_Sub3_10071),
				    3553, Class116.aClass116_1448,
				    method9090(), 256, 256);
	    ((Class487_Sub4_Sub3) this).aClass100_Sub3_11326.method8098(false,
									false);
	    ((Class487_Sub4_Sub3) this).aClass100_Sub3_11331
		= new Class100_Sub3((((Class487_Sub4_Sub3) this)
				     .aClass151_Sub3_10071),
				    3553, Class116.aClass116_1448,
				    method9090(), 256, 256);
	    ((Class487_Sub4_Sub3) this).aClass100_Sub3_11331.method8098(false,
									false);
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2014
		(((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328,
		 (byte) -51);
	    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328.method8672
		(0, ((Class487_Sub4_Sub3) this).aClass100_Sub3_11326
			.method8101(0));
	    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328.method8672
		(1, ((Class487_Sub4_Sub3) this).aClass100_Sub3_11331
			.method8101(0));
	    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328
		.method10152(0);
	    if (!((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328
		     .method8673()) {
		((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2015
		    (((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328,
		     -1728577504);
		return false;
	    }
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2015
		(((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328,
		 -1581491215);
	    ((Class487_Sub4_Sub3) this).aClass90_11336
		= (Class90.method1246
		   (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
		    (new Class102[]
		     { Class102.method1407
		       (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
			35632,
			"#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") })));
	    ((Class487_Sub4_Sub3) this).aClass90_11339
		= (Class90.method1246
		   (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
		    (new Class102[]
		     { Class102.method1407
		       (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
			35632,
			"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") })));
	    ((Class487_Sub4_Sub3) this).aClass90_11322
		= (Class90.method1246
		   (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
		    (new Class102[]
		     { Class102.method1407
		       (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
			35632,
			"#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 = clamp(sceneCol*(postLum/preLum)+bloomCol*params.x,0.0,1.0);\n}\n") })));
	    ((Class487_Sub4_Sub3) this).aClass90_11327
		= (Class90.method1246
		   (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
		    (new Class102[]
		     { Class102.method1407
		       (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
			35632,
			"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 (((Class487_Sub4_Sub3) this).aClass90_11339 != null
		    && ((Class487_Sub4_Sub3) this).aClass90_11336 != null
		    && ((Class487_Sub4_Sub3) this).aClass90_11322 != null
		    && ((Class487_Sub4_Sub3) this).aClass90_11327 != null);
	}
	return false;
    }
    
    void method9082(int i, int i_17_) {
	((Class487_Sub4_Sub3) this).anInt11333 = i;
	((Class487_Sub4_Sub3) this).anInt11334 = i_17_;
	int i_18_ = Class148.method1973(((Class487_Sub4_Sub3) this).anInt11333,
					(byte) 67);
	int i_19_ = Class148.method1973(((Class487_Sub4_Sub3) this).anInt11334,
					(byte) 103);
	if (((Class487_Sub4_Sub3) this).anInt11335 != i_18_
	    || ((Class487_Sub4_Sub3) this).anInt11338 != i_19_) {
	    if (((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332 != null) {
		for (int i_20_ = 0;
		     i_20_ < (((Class487_Sub4_Sub3) this)
			      .aClass100_Sub3Array11332).length;
		     i_20_++)
		    ((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332
			[i_20_].method1379();
		((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332 = null;
	    }
	    if (i_18_ > 256 || i_19_ > 256) {
		int i_21_ = i_18_;
		int i_22_ = i_19_;
		int i_23_ = 0;
		while (i_21_ > 256 || i_22_ > 256) {
		    if (i_21_ > 256)
			i_21_ >>= 1;
		    if (i_22_ > 256)
			i_22_ >>= 1;
		    i_23_++;
		}
		if (((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329
		    == null)
		    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329
			= new Class144_Sub2_Sub1(((Class487_Sub4_Sub3) this)
						 .aClass151_Sub3_10071);
		((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332
		    = new Class100_Sub3[i_23_];
		i_21_ = i_18_;
		i_22_ = i_19_;
		i_23_ = 0;
		while (i_21_ > 256 || i_22_ > 256) {
		    ((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332
			[i_23_++]
			= new Class100_Sub3((((Class487_Sub4_Sub3) this)
					     .aClass151_Sub3_10071),
					    3553, Class116.aClass116_1448,
					    method9090(), i_21_, i_22_);
		    if (i_21_ > 256)
			i_21_ >>= 1;
		    if (i_22_ > 256)
			i_22_ >>= 1;
		}
	    } else
		((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329 = null;
	    ((Class487_Sub4_Sub3) this).anInt11335 = i_18_;
	    ((Class487_Sub4_Sub3) this).anInt11338 = i_19_;
	}
    }
    
    void method9097(int i) {
	OpenGL.glUseProgram(0);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method8590(1);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method8591(null);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method8590(0);
    }
    
    void method9068(int i, Class100_Sub3 class100_sub3,
		    Class100_Sub3 class100_sub3_24_, int i_25_, int i_26_) {
	OpenGL.glPushAttrib(2048);
	OpenGL.glMatrixMode(5889);
	OpenGL.glPushMatrix();
	OpenGL.glLoadIdentity();
	OpenGL.glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
	if (((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332 != null) {
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2014
		(((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329,
		 (byte) 38);
	    int i_27_
		= Class148.method1973(((Class487_Sub4_Sub3) this).anInt11333,
				      (byte) 86);
	    int i_28_
		= Class148.method1973(((Class487_Sub4_Sub3) this).anInt11334,
				      (byte) 20);
	    int i_29_ = 0;
	    while (i_27_ > 256 || i_28_ > 256) {
		OpenGL.glViewport(0, 0, i_27_, i_28_);
		((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329
		    .method8672
		    (0, ((Class487_Sub4_Sub3) this)
			    .aClass100_Sub3Array11332[i_29_].method8101(0));
		if (i_29_ == 0) {
		    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071
			.method8591(class100_sub3);
		    OpenGL.glBegin(7);
		    OpenGL.glTexCoord2f(0.0F,
					(float) ((((Class487_Sub4_Sub3) this)
						  .anInt11334)
						 - i_25_));
		    OpenGL.glVertex2i(0, 0);
		    OpenGL.glTexCoord2f((float) (0 + i_26_),
					(float) ((((Class487_Sub4_Sub3) this)
						  .anInt11334)
						 - i_25_));
		    OpenGL.glVertex2i(1, 0);
		    OpenGL.glTexCoord2f((float) (0 + i_26_),
					(float) (((Class487_Sub4_Sub3) this)
						 .anInt11334));
		    OpenGL.glVertex2i(1, 1);
		    OpenGL.glTexCoord2f(0.0F,
					(float) (((Class487_Sub4_Sub3) this)
						 .anInt11334));
		    OpenGL.glVertex2i(0, 1);
		    OpenGL.glEnd();
		} else {
		    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method8591
			(((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332
			 [i_29_ - 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 (i_27_ > 256)
		    i_27_ >>= 1;
		if (i_28_ > 256)
		    i_28_ >>= 1;
		i_29_++;
	    }
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2015
		(((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329,
		 -2033712848);
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method8591
		(((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332
		 [i_29_ - 1]);
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2014
		(((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328,
		 (byte) -34);
	    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328
		.method10152(0);
	    OpenGL.glViewport(0, 0, 256, 256);
	    int i_30_ = (((Class90) ((Class487_Sub4_Sub3) this).aClass90_11339)
			 .anInt1234);
	    OpenGL.glUseProgram(i_30_);
	    OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_30_, "sceneTex"),
			       0);
	    OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_30_, "params"),
			       aFloat11337, 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 {
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071
		.method8591(class100_sub3);
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2014
		(((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328,
		 (byte) 20);
	    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328
		.method10152(0);
	    OpenGL.glViewport(0, 0, 256, 256);
	    int i_31_ = (((Class90) ((Class487_Sub4_Sub3) this).aClass90_11336)
			 .anInt1234);
	    OpenGL.glUseProgram(i_31_);
	    OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_31_, "sceneTex"),
			       0);
	    OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_31_, "params"),
			       aFloat11337, 0.0F, 0.0F);
	    OpenGL.glBegin(7);
	    OpenGL.glTexCoord2f(0.0F, 0.0F);
	    OpenGL.glVertex2i(0, 0);
	    OpenGL.glTexCoord2f((float) ((Class487_Sub4_Sub3) this).anInt11333,
				0.0F);
	    OpenGL.glVertex2i(1, 0);
	    OpenGL.glTexCoord2f((float) ((Class487_Sub4_Sub3) this).anInt11333,
				(float) (((Class487_Sub4_Sub3) this)
					 .anInt11334));
	    OpenGL.glVertex2i(1, 1);
	    OpenGL.glTexCoord2f(0.0F, (float) (((Class487_Sub4_Sub3) this)
					       .anInt11334));
	    OpenGL.glVertex2i(0, 1);
	    OpenGL.glEnd();
	}
	((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328.method10152(1);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071
	    .method8591(((Class487_Sub4_Sub3) this).aClass100_Sub3_11326);
	int i_32_
	    = ((Class90) ((Class487_Sub4_Sub3) this).aClass90_11327).anInt1234;
	OpenGL.glUseProgram(i_32_);
	OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_32_, "baseTex"), 0);
	OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_32_, "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();
	((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328.method10152(0);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071
	    .method8591(((Class487_Sub4_Sub3) this).aClass100_Sub3_11331);
	OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_32_, "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);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2015
	    (((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328,
	     -1988881290);
	int i_33_
	    = ((Class90) ((Class487_Sub4_Sub3) this).aClass90_11322).anInt1234;
	OpenGL.glUseProgram(i_33_);
	OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_33_, "sceneTex"), 0);
	OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_33_, "bloomTex"), 1);
	OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_33_, "params"),
			   aFloat11321, aFloat11324, 0.0F);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method8590(1);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071
	    .method8591(((Class487_Sub4_Sub3) this).aClass100_Sub3_11326);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method8590(0);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071
	    .method8591(class100_sub3);
    }
    
    int method9070() {
	return 0;
    }
    
    boolean method9074() {
	return false;
    }
    
    boolean method9063() {
	return ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328 != null;
    }
    
    boolean method9065() {
	if ((((Class151_Sub3) ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071)
	     .aBool9364)
	    && ((Class151_Sub3)
		((Class487_Sub4_Sub3) this).aClass151_Sub3_10071).aBool9381
	    && ((Class151_Sub3)
		((Class487_Sub4_Sub3) this).aClass151_Sub3_10071).aBool9376) {
	    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328
		= new Class144_Sub2_Sub1(((Class487_Sub4_Sub3) this)
					 .aClass151_Sub3_10071);
	    ((Class487_Sub4_Sub3) this).aClass100_Sub3_11326
		= new Class100_Sub3((((Class487_Sub4_Sub3) this)
				     .aClass151_Sub3_10071),
				    3553, Class116.aClass116_1448,
				    method9090(), 256, 256);
	    ((Class487_Sub4_Sub3) this).aClass100_Sub3_11326.method8098(false,
									false);
	    ((Class487_Sub4_Sub3) this).aClass100_Sub3_11331
		= new Class100_Sub3((((Class487_Sub4_Sub3) this)
				     .aClass151_Sub3_10071),
				    3553, Class116.aClass116_1448,
				    method9090(), 256, 256);
	    ((Class487_Sub4_Sub3) this).aClass100_Sub3_11331.method8098(false,
									false);
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2014
		(((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328,
		 (byte) -9);
	    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328.method8672
		(0, ((Class487_Sub4_Sub3) this).aClass100_Sub3_11326
			.method8101(0));
	    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328.method8672
		(1, ((Class487_Sub4_Sub3) this).aClass100_Sub3_11331
			.method8101(0));
	    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328
		.method10152(0);
	    if (!((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328
		     .method8673()) {
		((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2015
		    (((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328,
		     -1674735497);
		return false;
	    }
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2015
		(((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328,
		 -1940864970);
	    ((Class487_Sub4_Sub3) this).aClass90_11336
		= (Class90.method1246
		   (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
		    (new Class102[]
		     { Class102.method1407
		       (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
			35632,
			"#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") })));
	    ((Class487_Sub4_Sub3) this).aClass90_11339
		= (Class90.method1246
		   (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
		    (new Class102[]
		     { Class102.method1407
		       (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
			35632,
			"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") })));
	    ((Class487_Sub4_Sub3) this).aClass90_11322
		= (Class90.method1246
		   (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
		    (new Class102[]
		     { Class102.method1407
		       (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
			35632,
			"#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 = clamp(sceneCol*(postLum/preLum)+bloomCol*params.x,0.0,1.0);\n}\n") })));
	    ((Class487_Sub4_Sub3) this).aClass90_11327
		= (Class90.method1246
		   (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
		    (new Class102[]
		     { Class102.method1407
		       (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
			35632,
			"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 (((Class487_Sub4_Sub3) this).aClass90_11339 != null
		    && ((Class487_Sub4_Sub3) this).aClass90_11336 != null
		    && ((Class487_Sub4_Sub3) this).aClass90_11322 != null
		    && ((Class487_Sub4_Sub3) this).aClass90_11327 != null);
	}
	return false;
    }
    
    void method9084() {
	((Class487_Sub4_Sub3) this).anInt11338 = -1;
	((Class487_Sub4_Sub3) this).anInt11335 = -1;
	((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329 = null;
	((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332 = null;
	((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328 = null;
	((Class487_Sub4_Sub3) this).aClass100_Sub3_11326 = null;
	((Class487_Sub4_Sub3) this).aClass100_Sub3_11331 = null;
	((Class487_Sub4_Sub3) this).aClass90_11336 = null;
	((Class487_Sub4_Sub3) this).aClass90_11339 = null;
	((Class487_Sub4_Sub3) this).aClass90_11322 = null;
	((Class487_Sub4_Sub3) this).aClass90_11327 = null;
    }
    
    Class487_Sub4_Sub3(Class151_Sub3 class151_sub3) {
	super(class151_sub3);
    }
    
    void method9094() {
	((Class487_Sub4_Sub3) this).anInt11338 = -1;
	((Class487_Sub4_Sub3) this).anInt11335 = -1;
	((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329 = null;
	((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332 = null;
	((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328 = null;
	((Class487_Sub4_Sub3) this).aClass100_Sub3_11326 = null;
	((Class487_Sub4_Sub3) this).aClass100_Sub3_11331 = null;
	((Class487_Sub4_Sub3) this).aClass90_11336 = null;
	((Class487_Sub4_Sub3) this).aClass90_11339 = null;
	((Class487_Sub4_Sub3) this).aClass90_11322 = null;
	((Class487_Sub4_Sub3) this).aClass90_11327 = null;
    }
    
    void method9080() {
	((Class487_Sub4_Sub3) this).anInt11338 = -1;
	((Class487_Sub4_Sub3) this).anInt11335 = -1;
	((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329 = null;
	((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332 = null;
	((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328 = null;
	((Class487_Sub4_Sub3) this).aClass100_Sub3_11326 = null;
	((Class487_Sub4_Sub3) this).aClass100_Sub3_11331 = null;
	((Class487_Sub4_Sub3) this).aClass90_11336 = null;
	((Class487_Sub4_Sub3) this).aClass90_11339 = null;
	((Class487_Sub4_Sub3) this).aClass90_11322 = null;
	((Class487_Sub4_Sub3) this).aClass90_11327 = null;
    }
    
    void method9081(int i, int i_34_) {
	((Class487_Sub4_Sub3) this).anInt11333 = i;
	((Class487_Sub4_Sub3) this).anInt11334 = i_34_;
	int i_35_ = Class148.method1973(((Class487_Sub4_Sub3) this).anInt11333,
					(byte) 68);
	int i_36_ = Class148.method1973(((Class487_Sub4_Sub3) this).anInt11334,
					(byte) 118);
	if (((Class487_Sub4_Sub3) this).anInt11335 != i_35_
	    || ((Class487_Sub4_Sub3) this).anInt11338 != i_36_) {
	    if (((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332 != null) {
		for (int i_37_ = 0;
		     i_37_ < (((Class487_Sub4_Sub3) this)
			      .aClass100_Sub3Array11332).length;
		     i_37_++)
		    ((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332
			[i_37_].method1379();
		((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332 = null;
	    }
	    if (i_35_ > 256 || i_36_ > 256) {
		int i_38_ = i_35_;
		int i_39_ = i_36_;
		int i_40_ = 0;
		while (i_38_ > 256 || i_39_ > 256) {
		    if (i_38_ > 256)
			i_38_ >>= 1;
		    if (i_39_ > 256)
			i_39_ >>= 1;
		    i_40_++;
		}
		if (((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329
		    == null)
		    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329
			= new Class144_Sub2_Sub1(((Class487_Sub4_Sub3) this)
						 .aClass151_Sub3_10071);
		((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332
		    = new Class100_Sub3[i_40_];
		i_38_ = i_35_;
		i_39_ = i_36_;
		i_40_ = 0;
		while (i_38_ > 256 || i_39_ > 256) {
		    ((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332
			[i_40_++]
			= new Class100_Sub3((((Class487_Sub4_Sub3) this)
					     .aClass151_Sub3_10071),
					    3553, Class116.aClass116_1448,
					    method9090(), i_38_, i_39_);
		    if (i_38_ > 256)
			i_38_ >>= 1;
		    if (i_39_ > 256)
			i_39_ >>= 1;
		}
	    } else
		((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329 = null;
	    ((Class487_Sub4_Sub3) this).anInt11335 = i_35_;
	    ((Class487_Sub4_Sub3) this).anInt11338 = i_36_;
	}
    }
    
    boolean method10274() {
	return (((Class151_Sub3)
		 ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071).aBool9364
		&& ((Class151_Sub3)
		    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071).aBool9381
		&& ((Class151_Sub3) (((Class487_Sub4_Sub3) this)
				     .aClass151_Sub3_10071)).aBool9376);
    }
    
    void method9091(int i, int i_41_) {
	((Class487_Sub4_Sub3) this).anInt11333 = i;
	((Class487_Sub4_Sub3) this).anInt11334 = i_41_;
	int i_42_ = Class148.method1973(((Class487_Sub4_Sub3) this).anInt11333,
					(byte) 16);
	int i_43_ = Class148.method1973(((Class487_Sub4_Sub3) this).anInt11334,
					(byte) 106);
	if (((Class487_Sub4_Sub3) this).anInt11335 != i_42_
	    || ((Class487_Sub4_Sub3) this).anInt11338 != i_43_) {
	    if (((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332 != null) {
		for (int i_44_ = 0;
		     i_44_ < (((Class487_Sub4_Sub3) this)
			      .aClass100_Sub3Array11332).length;
		     i_44_++)
		    ((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332
			[i_44_].method1379();
		((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332 = null;
	    }
	    if (i_42_ > 256 || i_43_ > 256) {
		int i_45_ = i_42_;
		int i_46_ = i_43_;
		int i_47_ = 0;
		while (i_45_ > 256 || i_46_ > 256) {
		    if (i_45_ > 256)
			i_45_ >>= 1;
		    if (i_46_ > 256)
			i_46_ >>= 1;
		    i_47_++;
		}
		if (((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329
		    == null)
		    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329
			= new Class144_Sub2_Sub1(((Class487_Sub4_Sub3) this)
						 .aClass151_Sub3_10071);
		((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332
		    = new Class100_Sub3[i_47_];
		i_45_ = i_42_;
		i_46_ = i_43_;
		i_47_ = 0;
		while (i_45_ > 256 || i_46_ > 256) {
		    ((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332
			[i_47_++]
			= new Class100_Sub3((((Class487_Sub4_Sub3) this)
					     .aClass151_Sub3_10071),
					    3553, Class116.aClass116_1448,
					    method9090(), i_45_, i_46_);
		    if (i_45_ > 256)
			i_45_ >>= 1;
		    if (i_46_ > 256)
			i_46_ >>= 1;
		}
	    } else
		((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329 = null;
	    ((Class487_Sub4_Sub3) this).anInt11335 = i_42_;
	    ((Class487_Sub4_Sub3) this).anInt11338 = i_43_;
	}
    }
    
    void method9093(int i, int i_48_) {
	((Class487_Sub4_Sub3) this).anInt11333 = i;
	((Class487_Sub4_Sub3) this).anInt11334 = i_48_;
	int i_49_ = Class148.method1973(((Class487_Sub4_Sub3) this).anInt11333,
					(byte) 17);
	int i_50_ = Class148.method1973(((Class487_Sub4_Sub3) this).anInt11334,
					(byte) 13);
	if (((Class487_Sub4_Sub3) this).anInt11335 != i_49_
	    || ((Class487_Sub4_Sub3) this).anInt11338 != i_50_) {
	    if (((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332 != null) {
		for (int i_51_ = 0;
		     i_51_ < (((Class487_Sub4_Sub3) this)
			      .aClass100_Sub3Array11332).length;
		     i_51_++)
		    ((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332
			[i_51_].method1379();
		((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332 = null;
	    }
	    if (i_49_ > 256 || i_50_ > 256) {
		int i_52_ = i_49_;
		int i_53_ = i_50_;
		int i_54_ = 0;
		while (i_52_ > 256 || i_53_ > 256) {
		    if (i_52_ > 256)
			i_52_ >>= 1;
		    if (i_53_ > 256)
			i_53_ >>= 1;
		    i_54_++;
		}
		if (((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329
		    == null)
		    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329
			= new Class144_Sub2_Sub1(((Class487_Sub4_Sub3) this)
						 .aClass151_Sub3_10071);
		((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332
		    = new Class100_Sub3[i_54_];
		i_52_ = i_49_;
		i_53_ = i_50_;
		i_54_ = 0;
		while (i_52_ > 256 || i_53_ > 256) {
		    ((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332
			[i_54_++]
			= new Class100_Sub3((((Class487_Sub4_Sub3) this)
					     .aClass151_Sub3_10071),
					    3553, Class116.aClass116_1448,
					    method9090(), i_52_, i_53_);
		    if (i_52_ > 256)
			i_52_ >>= 1;
		    if (i_53_ > 256)
			i_53_ >>= 1;
		}
	    } else
		((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329 = null;
	    ((Class487_Sub4_Sub3) this).anInt11335 = i_49_;
	    ((Class487_Sub4_Sub3) this).anInt11338 = i_50_;
	}
    }
    
    void method9085(int i, Class100_Sub3 class100_sub3,
		    Class100_Sub3 class100_sub3_55_, int i_56_, int i_57_) {
	OpenGL.glPushAttrib(2048);
	OpenGL.glMatrixMode(5889);
	OpenGL.glPushMatrix();
	OpenGL.glLoadIdentity();
	OpenGL.glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
	if (((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332 != null) {
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2014
		(((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329,
		 (byte) -23);
	    int i_58_
		= Class148.method1973(((Class487_Sub4_Sub3) this).anInt11333,
				      (byte) 13);
	    int i_59_
		= Class148.method1973(((Class487_Sub4_Sub3) this).anInt11334,
				      (byte) 57);
	    int i_60_ = 0;
	    while (i_58_ > 256 || i_59_ > 256) {
		OpenGL.glViewport(0, 0, i_58_, i_59_);
		((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329
		    .method8672
		    (0, ((Class487_Sub4_Sub3) this)
			    .aClass100_Sub3Array11332[i_60_].method8101(0));
		if (i_60_ == 0) {
		    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071
			.method8591(class100_sub3);
		    OpenGL.glBegin(7);
		    OpenGL.glTexCoord2f(0.0F,
					(float) ((((Class487_Sub4_Sub3) this)
						  .anInt11334)
						 - i_56_));
		    OpenGL.glVertex2i(0, 0);
		    OpenGL.glTexCoord2f((float) (0 + i_57_),
					(float) ((((Class487_Sub4_Sub3) this)
						  .anInt11334)
						 - i_56_));
		    OpenGL.glVertex2i(1, 0);
		    OpenGL.glTexCoord2f((float) (0 + i_57_),
					(float) (((Class487_Sub4_Sub3) this)
						 .anInt11334));
		    OpenGL.glVertex2i(1, 1);
		    OpenGL.glTexCoord2f(0.0F,
					(float) (((Class487_Sub4_Sub3) this)
						 .anInt11334));
		    OpenGL.glVertex2i(0, 1);
		    OpenGL.glEnd();
		} else {
		    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method8591
			(((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332
			 [i_60_ - 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 (i_58_ > 256)
		    i_58_ >>= 1;
		if (i_59_ > 256)
		    i_59_ >>= 1;
		i_60_++;
	    }
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2015
		(((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11329,
		 -1424587613);
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method8591
		(((Class487_Sub4_Sub3) this).aClass100_Sub3Array11332
		 [i_60_ - 1]);
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2014
		(((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328,
		 (byte) -88);
	    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328
		.method10152(0);
	    OpenGL.glViewport(0, 0, 256, 256);
	    int i_61_ = (((Class90) ((Class487_Sub4_Sub3) this).aClass90_11339)
			 .anInt1234);
	    OpenGL.glUseProgram(i_61_);
	    OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_61_, "sceneTex"),
			       0);
	    OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_61_, "params"),
			       aFloat11337, 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 {
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071
		.method8591(class100_sub3);
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2014
		(((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328,
		 (byte) 29);
	    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328
		.method10152(0);
	    OpenGL.glViewport(0, 0, 256, 256);
	    int i_62_ = (((Class90) ((Class487_Sub4_Sub3) this).aClass90_11336)
			 .anInt1234);
	    OpenGL.glUseProgram(i_62_);
	    OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_62_, "sceneTex"),
			       0);
	    OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_62_, "params"),
			       aFloat11337, 0.0F, 0.0F);
	    OpenGL.glBegin(7);
	    OpenGL.glTexCoord2f(0.0F, 0.0F);
	    OpenGL.glVertex2i(0, 0);
	    OpenGL.glTexCoord2f((float) ((Class487_Sub4_Sub3) this).anInt11333,
				0.0F);
	    OpenGL.glVertex2i(1, 0);
	    OpenGL.glTexCoord2f((float) ((Class487_Sub4_Sub3) this).anInt11333,
				(float) (((Class487_Sub4_Sub3) this)
					 .anInt11334));
	    OpenGL.glVertex2i(1, 1);
	    OpenGL.glTexCoord2f(0.0F, (float) (((Class487_Sub4_Sub3) this)
					       .anInt11334));
	    OpenGL.glVertex2i(0, 1);
	    OpenGL.glEnd();
	}
	((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328.method10152(1);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071
	    .method8591(((Class487_Sub4_Sub3) this).aClass100_Sub3_11326);
	int i_63_
	    = ((Class90) ((Class487_Sub4_Sub3) this).aClass90_11327).anInt1234;
	OpenGL.glUseProgram(i_63_);
	OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_63_, "baseTex"), 0);
	OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_63_, "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();
	((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328.method10152(0);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071
	    .method8591(((Class487_Sub4_Sub3) this).aClass100_Sub3_11331);
	OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_63_, "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);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2015
	    (((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328,
	     -1846540830);
	int i_64_
	    = ((Class90) ((Class487_Sub4_Sub3) this).aClass90_11322).anInt1234;
	OpenGL.glUseProgram(i_64_);
	OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_64_, "sceneTex"), 0);
	OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_64_, "bloomTex"), 1);
	OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_64_, "params"),
			   aFloat11321, aFloat11324, 0.0F);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method8590(1);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071
	    .method8591(((Class487_Sub4_Sub3) this).aClass100_Sub3_11326);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method8590(0);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071
	    .method8591(class100_sub3);
    }
    
    Class155 method9090() {
	return Class155.aClass155_1892;
    }
    
    void method9087(int i) {
	OpenGL.glUseProgram(0);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method8590(1);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method8591(null);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method8590(0);
    }
    
    void method9088(int i) {
	OpenGL.glUseProgram(0);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method8590(1);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method8591(null);
	((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method8590(0);
    }
    
    int method9071() {
	return 0;
    }
    
    int method9075() {
	return 0;
    }
    
    Class155 method9078() {
	return Class155.aClass155_1892;
    }
    
    Class155 method9079() {
	return Class155.aClass155_1892;
    }
    
    boolean method9083() {
	return false;
    }
    
    boolean method9098() {
	return false;
    }
    
    boolean method9077() {
	if ((((Class151_Sub3) ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071)
	     .aBool9364)
	    && ((Class151_Sub3)
		((Class487_Sub4_Sub3) this).aClass151_Sub3_10071).aBool9381
	    && ((Class151_Sub3)
		((Class487_Sub4_Sub3) this).aClass151_Sub3_10071).aBool9376) {
	    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328
		= new Class144_Sub2_Sub1(((Class487_Sub4_Sub3) this)
					 .aClass151_Sub3_10071);
	    ((Class487_Sub4_Sub3) this).aClass100_Sub3_11326
		= new Class100_Sub3((((Class487_Sub4_Sub3) this)
				     .aClass151_Sub3_10071),
				    3553, Class116.aClass116_1448,
				    method9090(), 256, 256);
	    ((Class487_Sub4_Sub3) this).aClass100_Sub3_11326.method8098(false,
									false);
	    ((Class487_Sub4_Sub3) this).aClass100_Sub3_11331
		= new Class100_Sub3((((Class487_Sub4_Sub3) this)
				     .aClass151_Sub3_10071),
				    3553, Class116.aClass116_1448,
				    method9090(), 256, 256);
	    ((Class487_Sub4_Sub3) this).aClass100_Sub3_11331.method8098(false,
									false);
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2014
		(((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328,
		 (byte) 58);
	    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328.method8672
		(0, ((Class487_Sub4_Sub3) this).aClass100_Sub3_11326
			.method8101(0));
	    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328.method8672
		(1, ((Class487_Sub4_Sub3) this).aClass100_Sub3_11331
			.method8101(0));
	    ((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328
		.method10152(0);
	    if (!((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328
		     .method8673()) {
		((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2015
		    (((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328,
		     -1369127954);
		return false;
	    }
	    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071.method2015
		(((Class487_Sub4_Sub3) this).aClass144_Sub2_Sub1_11328,
		 -1929894927);
	    ((Class487_Sub4_Sub3) this).aClass90_11336
		= (Class90.method1246
		   (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
		    (new Class102[]
		     { Class102.method1407
		       (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
			35632,
			"#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") })));
	    ((Class487_Sub4_Sub3) this).aClass90_11339
		= (Class90.method1246
		   (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
		    (new Class102[]
		     { Class102.method1407
		       (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
			35632,
			"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") })));
	    ((Class487_Sub4_Sub3) this).aClass90_11322
		= (Class90.method1246
		   (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
		    (new Class102[]
		     { Class102.method1407
		       (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
			35632,
			"#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 = clamp(sceneCol*(postLum/preLum)+bloomCol*params.x,0.0,1.0);\n}\n") })));
	    ((Class487_Sub4_Sub3) this).aClass90_11327
		= (Class90.method1246
		   (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
		    (new Class102[]
		     { Class102.method1407
		       (((Class487_Sub4_Sub3) this).aClass151_Sub3_10071,
			35632,
			"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 (((Class487_Sub4_Sub3) this).aClass90_11339 != null
		    && ((Class487_Sub4_Sub3) this).aClass90_11336 != null
		    && ((Class487_Sub4_Sub3) this).aClass90_11322 != null
		    && ((Class487_Sub4_Sub3) this).aClass90_11327 != null);
	}
	return false;
    }
    
    boolean method10275() {
	return (((Class151_Sub3)
		 ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071).aBool9364
		&& ((Class151_Sub3)
		    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071).aBool9381
		&& ((Class151_Sub3) (((Class487_Sub4_Sub3) this)
				     .aClass151_Sub3_10071)).aBool9376);
    }
    
    boolean method10276() {
	return (((Class151_Sub3)
		 ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071).aBool9364
		&& ((Class151_Sub3)
		    ((Class487_Sub4_Sub3) this).aClass151_Sub3_10071).aBool9381
		&& ((Class151_Sub3) (((Class487_Sub4_Sub3) this)
				     .aClass151_Sub3_10071)).aBool9376);
    }
}
