
public class Class307 {

   float aFloat3917;
   Class326[] aClass326Array3918 = new Class326[4];
   float[] aFloatArray3919;


   Class326 method5457(float var1) {
      Class326 var2 = new Class326();
      float var3 = var1 * var1;
      float var4 = var3 * var1;
      float var5 = 3.0F * (this.aClass326Array3918[1].aFloat4036 - this.aClass326Array3918[0].aFloat4036);
      float var6 = 3.0F * (this.aClass326Array3918[2].aFloat4036 - this.aClass326Array3918[1].aFloat4036) - var5;
      float var7 = this.aClass326Array3918[3].aFloat4036 - this.aClass326Array3918[0].aFloat4036 - var5 - var6;
      var2.aFloat4036 = var7 * var4 + var6 * var3 + var5 * var1 + this.aClass326Array3918[0].aFloat4036;
      var5 = 3.0F * (this.aClass326Array3918[1].aFloat4037 - this.aClass326Array3918[0].aFloat4037);
      var6 = 3.0F * (this.aClass326Array3918[2].aFloat4037 - this.aClass326Array3918[1].aFloat4037) - var5;
      var7 = this.aClass326Array3918[3].aFloat4037 - this.aClass326Array3918[0].aFloat4037 - var5 - var6;
      var2.aFloat4037 = var7 * var4 + var6 * var3 + var5 * var1 + this.aClass326Array3918[0].aFloat4037;
      var5 = 3.0F * (this.aClass326Array3918[1].aFloat4033 - this.aClass326Array3918[0].aFloat4033);
      var6 = 3.0F * (this.aClass326Array3918[2].aFloat4033 - this.aClass326Array3918[1].aFloat4033) - var5;
      var7 = this.aClass326Array3918[3].aFloat4033 - this.aClass326Array3918[0].aFloat4033 - var5 - var6;
      var2.aFloat4033 = var7 * var4 + var6 * var3 + var5 * var1 + this.aClass326Array3918[0].aFloat4033;
      return var2;
   }

   void method5458() {
      this.aFloat3917 = -1.0F;
      this.aFloatArray3919 = null;
   }

   void method5459(int var1, Class326 var2) {
      this.aClass326Array3918[var1].method5894(var2);
      this.method5458();
   }

   Class326 method5460(int var1) {
      return this.aClass326Array3918[var1];
   }

   void method5461() {
      this.aFloat3917 = -1.0F;
      this.aFloatArray3919 = null;
   }

   void method5462() {
      byte var1 = 20;
      Class326 var2 = this.method5457(0.0F);
      float var3 = 0.0F;

      int var4;
      Class326 var5;
      for(var4 = 1; var4 <= var1; ++var4) {
         var5 = this.method5457((float)var4 / (float)var1);
         var3 += Class326.method5884(var5, var2).method5889();
         var2 = var5;
      }

      var4 = (int)(var3 / 20.0F);
      if(var4 < var1) {
         var4 = var1;
      }

      this.aFloatArray3919 = new float[var4];
      var2 = this.method5457(0.0F);
      float var6 = 0.0F;

      for(int var7 = 1; var7 <= var4; ++var7) {
         var5 = this.method5457((float)var7 / (float)var4);
         float var8 = Class326.method5884(var5, var2).method5889();
         var6 += var8;
         this.aFloatArray3919[var7 - 1] = var8;
         var2 = var5;
      }

      this.aFloat3917 = var6;
   }

   float method5463(float var1) {
      if(this.aFloat3917 == -1.0F) {
         this.method5464();
      }

      if(var1 <= 0.0F) {
         return 0.0F;
      } else if(var1 >= this.aFloat3917) {
         return 1.0F;
      } else {
         float var2 = 0.0F;
         float var3 = this.aFloatArray3919[0];

         float var5;
         for(int var4 = 0; var4 < this.aFloatArray3919.length; ++var4) {
            if(var1 < var3) {
               var5 = (var1 - var2) / (var3 - var2);
               float var6 = (float)(var4 - 1) / (float)this.aFloatArray3919.length;
               float var7 = (float)var4 / (float)this.aFloatArray3919.length;
               return var6 + (var7 - var6) * var5;
            }

            var2 = var3;
            var3 += this.aFloatArray3919[var4];
         }

         float var8 = (var1 - var2) / (var3 - var2);
         var5 = (float)(this.aFloatArray3919.length - 1) / (float)this.aFloatArray3919.length;
         return var5 + (1.0F - var5) * var8;
      }
   }

   void method5464() {
      byte var1 = 20;
      Class326 var2 = this.method5457(0.0F);
      float var3 = 0.0F;

      int var4;
      Class326 var5;
      for(var4 = 1; var4 <= var1; ++var4) {
         var5 = this.method5457((float)var4 / (float)var1);
         var3 += Class326.method5884(var5, var2).method5889();
         var2 = var5;
      }

      var4 = (int)(var3 / 20.0F);
      if(var4 < var1) {
         var4 = var1;
      }

      this.aFloatArray3919 = new float[var4];
      var2 = this.method5457(0.0F);
      float var6 = 0.0F;

      for(int var7 = 1; var7 <= var4; ++var7) {
         var5 = this.method5457((float)var7 / (float)var4);
         float var8 = Class326.method5884(var5, var2).method5889();
         var6 += var8;
         this.aFloatArray3919[var7 - 1] = var8;
         var2 = var5;
      }

      this.aFloat3917 = var6;
   }

   void method5465() {
      this.aFloat3917 = -1.0F;
      this.aFloatArray3919 = null;
   }

   void method5466(int var1, Class326 var2) {
      this.aClass326Array3918[var1].method5894(var2);
      this.method5458();
   }

   void method5467() {
      this.aFloat3917 = -1.0F;
      this.aFloatArray3919 = null;
   }

   void method5468() {
      byte var1 = 20;
      Class326 var2 = this.method5457(0.0F);
      float var3 = 0.0F;

      int var4;
      Class326 var5;
      for(var4 = 1; var4 <= var1; ++var4) {
         var5 = this.method5457((float)var4 / (float)var1);
         var3 += Class326.method5884(var5, var2).method5889();
         var2 = var5;
      }

      var4 = (int)(var3 / 20.0F);
      if(var4 < var1) {
         var4 = var1;
      }

      this.aFloatArray3919 = new float[var4];
      var2 = this.method5457(0.0F);
      float var6 = 0.0F;

      for(int var7 = 1; var7 <= var4; ++var7) {
         var5 = this.method5457((float)var7 / (float)var4);
         float var8 = Class326.method5884(var5, var2).method5889();
         var6 += var8;
         this.aFloatArray3919[var7 - 1] = var8;
         var2 = var5;
      }

      this.aFloat3917 = var6;
   }

   void method5469(int var1, Class326 var2) {
      this.aClass326Array3918[var1].method5894(var2);
      this.method5458();
   }

   Class326 method5470(int var1) {
      return this.aClass326Array3918[var1];
   }

   Class326 method5471(int var1) {
      return this.aClass326Array3918[var1];
   }

   Class326 method5472(float var1) {
      Class326 var2 = new Class326();
      float var3 = var1 * var1;
      float var4 = var3 * var1;
      float var5 = 3.0F * (this.aClass326Array3918[1].aFloat4036 - this.aClass326Array3918[0].aFloat4036);
      float var6 = 3.0F * (this.aClass326Array3918[2].aFloat4036 - this.aClass326Array3918[1].aFloat4036) - var5;
      float var7 = this.aClass326Array3918[3].aFloat4036 - this.aClass326Array3918[0].aFloat4036 - var5 - var6;
      var2.aFloat4036 = var7 * var4 + var6 * var3 + var5 * var1 + this.aClass326Array3918[0].aFloat4036;
      var5 = 3.0F * (this.aClass326Array3918[1].aFloat4037 - this.aClass326Array3918[0].aFloat4037);
      var6 = 3.0F * (this.aClass326Array3918[2].aFloat4037 - this.aClass326Array3918[1].aFloat4037) - var5;
      var7 = this.aClass326Array3918[3].aFloat4037 - this.aClass326Array3918[0].aFloat4037 - var5 - var6;
      var2.aFloat4037 = var7 * var4 + var6 * var3 + var5 * var1 + this.aClass326Array3918[0].aFloat4037;
      var5 = 3.0F * (this.aClass326Array3918[1].aFloat4033 - this.aClass326Array3918[0].aFloat4033);
      var6 = 3.0F * (this.aClass326Array3918[2].aFloat4033 - this.aClass326Array3918[1].aFloat4033) - var5;
      var7 = this.aClass326Array3918[3].aFloat4033 - this.aClass326Array3918[0].aFloat4033 - var5 - var6;
      var2.aFloat4033 = var7 * var4 + var6 * var3 + var5 * var1 + this.aClass326Array3918[0].aFloat4033;
      return var2;
   }

   Class326 method5473(float var1) {
      Class326 var2 = new Class326();
      float var3 = var1 * var1;
      float var4 = var3 * var1;
      float var5 = 3.0F * (this.aClass326Array3918[1].aFloat4036 - this.aClass326Array3918[0].aFloat4036);
      float var6 = 3.0F * (this.aClass326Array3918[2].aFloat4036 - this.aClass326Array3918[1].aFloat4036) - var5;
      float var7 = this.aClass326Array3918[3].aFloat4036 - this.aClass326Array3918[0].aFloat4036 - var5 - var6;
      var2.aFloat4036 = var7 * var4 + var6 * var3 + var5 * var1 + this.aClass326Array3918[0].aFloat4036;
      var5 = 3.0F * (this.aClass326Array3918[1].aFloat4037 - this.aClass326Array3918[0].aFloat4037);
      var6 = 3.0F * (this.aClass326Array3918[2].aFloat4037 - this.aClass326Array3918[1].aFloat4037) - var5;
      var7 = this.aClass326Array3918[3].aFloat4037 - this.aClass326Array3918[0].aFloat4037 - var5 - var6;
      var2.aFloat4037 = var7 * var4 + var6 * var3 + var5 * var1 + this.aClass326Array3918[0].aFloat4037;
      var5 = 3.0F * (this.aClass326Array3918[1].aFloat4033 - this.aClass326Array3918[0].aFloat4033);
      var6 = 3.0F * (this.aClass326Array3918[2].aFloat4033 - this.aClass326Array3918[1].aFloat4033) - var5;
      var7 = this.aClass326Array3918[3].aFloat4033 - this.aClass326Array3918[0].aFloat4033 - var5 - var6;
      var2.aFloat4033 = var7 * var4 + var6 * var3 + var5 * var1 + this.aClass326Array3918[0].aFloat4033;
      return var2;
   }

   float method5474(float var1) {
      if(this.aFloat3917 == -1.0F) {
         this.method5464();
      }

      if(var1 <= 0.0F) {
         return 0.0F;
      } else if(var1 >= this.aFloat3917) {
         return 1.0F;
      } else {
         float var2 = 0.0F;
         float var3 = this.aFloatArray3919[0];

         float var5;
         for(int var4 = 0; var4 < this.aFloatArray3919.length; ++var4) {
            if(var1 < var3) {
               var5 = (var1 - var2) / (var3 - var2);
               float var6 = (float)(var4 - 1) / (float)this.aFloatArray3919.length;
               float var7 = (float)var4 / (float)this.aFloatArray3919.length;
               return var6 + (var7 - var6) * var5;
            }

            var2 = var3;
            var3 += this.aFloatArray3919[var4];
         }

         float var8 = (var1 - var2) / (var3 - var2);
         var5 = (float)(this.aFloatArray3919.length - 1) / (float)this.aFloatArray3919.length;
         return var5 + (1.0F - var5) * var8;
      }
   }

   void method5475() {
      byte var1 = 20;
      Class326 var2 = this.method5457(0.0F);
      float var3 = 0.0F;

      int var4;
      Class326 var5;
      for(var4 = 1; var4 <= var1; ++var4) {
         var5 = this.method5457((float)var4 / (float)var1);
         var3 += Class326.method5884(var5, var2).method5889();
         var2 = var5;
      }

      var4 = (int)(var3 / 20.0F);
      if(var4 < var1) {
         var4 = var1;
      }

      this.aFloatArray3919 = new float[var4];
      var2 = this.method5457(0.0F);
      float var6 = 0.0F;

      for(int var7 = 1; var7 <= var4; ++var7) {
         var5 = this.method5457((float)var7 / (float)var4);
         float var8 = Class326.method5884(var5, var2).method5889();
         var6 += var8;
         this.aFloatArray3919[var7 - 1] = var8;
         var2 = var5;
      }

      this.aFloat3917 = var6;
   }

   Class307() {
      for(int var1 = 0; var1 < 4; ++var1) {
         this.aClass326Array3918[var1] = new Class326();
      }

      this.method5458();
   }

   float method5476() {
      if(this.aFloat3917 == -1.0F) {
         this.method5464();
      }

      return this.aFloat3917;
   }
}
