package com.google.android.m4b.maps.bc;

import com.google.android.m4b.maps.ay.i;
import java.io.DataInput;
import java.util.Arrays;

public final class aj
{
  private final int[] a;
  private volatile al b;
  private volatile float c;

  static
  {
    new ThreadLocal()
    {
    };
  }

  private aj(int[] paramArrayOfInt)
  {
    this.a = paramArrayOfInt;
    this.c = -1.0F;
  }

  private int a(float paramFloat, int paramInt1, int paramInt2, int paramInt3, af paramaf1, af paramaf2, af paramaf3, af paramaf4, boolean[] paramArrayOfBoolean)
  {
    a(paramInt2, paramaf1);
    a(paramInt3, paramaf2);
    int i = -1;
    int j = paramInt2 + paramInt1;
    float f1 = paramFloat;
    float f2;
    if (j <= paramInt3 - 1)
    {
      a(j, paramaf4);
      f2 = af.a(paramaf1, paramaf2, paramaf4, paramaf3);
      if (f2 <= f1)
        break label166;
      i = j;
    }
    while (true)
    {
      j += paramInt1;
      f1 = f2;
      break;
      int k = 0;
      if (i >= 0)
      {
        k = 1;
        paramArrayOfBoolean[i] = true;
        if (i > paramInt2 + 1)
          k = 1 + a(paramFloat, paramInt1, paramInt2, i, paramaf1, paramaf2, paramaf3, paramaf4, paramArrayOfBoolean);
        if (i < paramInt3 - 1)
          k += a(paramFloat, paramInt1, i, paramInt3, paramaf1, paramaf2, paramaf3, paramaf4, paramArrayOfBoolean);
      }
      return k;
      label166: f2 = f1;
    }
  }

  public static aj a(af paramaf1, af paramaf2)
  {
    int[] arrayOfInt = new int[6];
    paramaf1.a(arrayOfInt, 0);
    paramaf2.a(arrayOfInt, 1);
    return new aj(arrayOfInt);
  }

  public static aj a(DataInput paramDataInput, ba paramba)
  {
    int i = bl.a(paramDataInput);
    int[] arrayOfInt = new int[i * 3];
    for (int j = 0; j < i; j++)
      af.a(paramDataInput, paramba, arrayOfInt, j);
    return new aj(arrayOfInt);
  }

  public static aj a(int[] paramArrayOfInt)
  {
    return new aj(paramArrayOfInt);
  }

  public final af a(float paramFloat)
  {
    if (paramFloat <= 0.0F)
      return a(0);
    if (paramFloat >= 1.0F)
      return c();
    float f1 = paramFloat * d();
    int i = -1 + this.a.length / 3;
    float f2 = f1;
    int j = 0;
    while (j < i)
    {
      float f3 = b(j);
      if (f3 >= f2)
      {
        float f5 = f2 / f3;
        af localaf1 = new af();
        af localaf2 = new af();
        a(j, localaf1);
        a(j + 1, localaf2);
        af.a(localaf1, localaf2, f5, localaf2);
        return localaf2;
      }
      float f4 = f2 - f3;
      j++;
      f2 = f4;
    }
    return c();
  }

  public final af a(int paramInt)
  {
    int i = paramInt * 3;
    return new af(this.a[i], this.a[(i + 1)], this.a[(i + 2)]);
  }

  public final al a()
  {
    af localaf;
    int j;
    int m;
    if (this.b == null)
    {
      if (this.a.length / 3 <= 0)
        break label163;
      localaf = a(0);
      int i = localaf.a;
      j = localaf.b;
      int k = 1;
      m = i;
      int n = i;
      int i1 = j;
      while (k < this.a.length / 3)
      {
        a(k, localaf);
        if (localaf.a < n)
          n = localaf.a;
        if (localaf.a > m)
          m = localaf.a;
        if (localaf.b < i1)
          i1 = localaf.b;
        if (localaf.b > j)
          j = localaf.b;
        k++;
      }
      localaf.d(n, i1);
    }
    label163: for (this.b = new al(localaf, new af(m, j)); ; this.b = new al(new af(), new af()))
      return this.b;
  }

  public final void a(int paramInt, af paramaf)
  {
    int i = paramInt * 3;
    paramaf.a = this.a[i];
    paramaf.b = this.a[(i + 1)];
    paramaf.c = this.a[(i + 2)];
  }

  public final void a(int paramInt, af paramaf1, af paramaf2)
  {
    int i = paramInt * 3;
    paramaf2.a = (this.a[i] - paramaf1.a);
    paramaf2.b = (this.a[(i + 1)] - paramaf1.b);
    paramaf2.c = (this.a[(i + 2)] - paramaf1.c);
  }

  public final void a(af paramaf)
  {
    int i = -3 + this.a.length;
    paramaf.a = this.a[i];
    paramaf.b = this.a[(i + 1)];
    paramaf.c = this.a[(i + 2)];
  }

  public final float b(int paramInt)
  {
    int i = paramInt * 3;
    int j = i + 3;
    int[] arrayOfInt1 = this.a;
    int k = i + 1;
    int m = arrayOfInt1[i];
    int[] arrayOfInt2 = this.a;
    int n = j + 1;
    float f1 = m - arrayOfInt2[j];
    int[] arrayOfInt3 = this.a;
    int i1 = k + 1;
    int i2 = arrayOfInt3[k];
    int[] arrayOfInt4 = this.a;
    int i3 = n + 1;
    float f2 = i2 - arrayOfInt4[n];
    float f3 = this.a[i1] - this.a[i3];
    return (float)Math.sqrt(f1 * f1 + f2 * f2 + f3 * f3);
  }

  public final int b()
  {
    return this.a.length / 3;
  }

  public final aj b(float paramFloat)
  {
    int i = 0;
    if (this.a.length <= 6);
    int j;
    boolean[] arrayOfBoolean;
    int k;
    do
    {
      return this;
      j = this.a.length / 3;
      arrayOfBoolean = new boolean[j];
      arrayOfBoolean[0] = true;
      arrayOfBoolean[(j - 1)] = true;
      k = 2 + a(paramFloat * paramFloat, 1, 0, j - 1, new af(), new af(), new af(), new af(), arrayOfBoolean);
    }
    while (k == j);
    int[] arrayOfInt1 = new int[k * 3];
    int m = 0;
    while (i < j)
    {
      if (arrayOfBoolean[i] != 0)
      {
        int n = i * 3;
        int i1 = m + 1;
        int[] arrayOfInt2 = this.a;
        int i2 = n + 1;
        arrayOfInt1[m] = arrayOfInt2[n];
        int i3 = i1 + 1;
        int[] arrayOfInt3 = this.a;
        int i4 = i2 + 1;
        arrayOfInt1[i1] = arrayOfInt3[i2];
        m = i3 + 1;
        arrayOfInt1[i3] = this.a[i4];
      }
      i++;
    }
    return new aj(arrayOfInt1);
  }

  public final aj b(af paramaf)
  {
    int[] arrayOfInt = new int[this.a.length];
    for (int i = 0; i < this.a.length; i += 3)
    {
      arrayOfInt[i] = (this.a[i] + paramaf.a);
      arrayOfInt[(i + 1)] = (this.a[(i + 1)] + paramaf.b);
      arrayOfInt[(i + 2)] = (this.a[(i + 2)] + paramaf.c);
    }
    return new aj(arrayOfInt);
  }

  public final af c()
  {
    int i = -3 + this.a.length;
    return new af(this.a[i], this.a[(i + 1)], this.a[(i + 2)]);
  }

  public final aj c(float paramFloat)
  {
    boolean bool = e();
    int i = this.a.length / 3;
    int j = i - 1;
    if ((i <= 2) || (paramFloat <= 0.0F) || ((i <= 3) && (bool)));
    while (true)
    {
      return this;
      a locala = new a(i);
      int k;
      int i2;
      af localaf1;
      af localaf2;
      af localaf3;
      af localaf4;
      af localaf5;
      int i3;
      if (bool)
      {
        k = j - 1;
        int m = 3 * (k - 1);
        int n = k * 3;
        int i1 = 3 * ((k + 1) % i);
        i2 = 3 * ((k + 2) % i);
        localaf1 = new af(this.a[m], this.a[(m + 1)], 0);
        localaf2 = new af(this.a[n], this.a[(n + 1)], 0);
        localaf3 = new af(this.a[i1], this.a[(i1 + 1)], 0);
        localaf4 = new af(this.a[i2], this.a[(i2 + 1)], 0);
        localaf5 = new af();
        if ((!bool) || (localaf2.c(localaf3) > paramFloat))
          break label295;
        i3 = 1;
      }
      while (true)
        if (!bool)
        {
          locala.a(localaf1);
          if (i2 == 0)
          {
            if ((localaf1.c(localaf2) > paramFloat) && (localaf2.c(localaf3) > paramFloat))
              locala.a(localaf2);
            locala.a(localaf3);
            return locala.c();
            k = 1;
            break;
            label295: i3 = 0;
            continue;
          }
          do
          {
            localaf2.b(localaf3);
            localaf3.b(localaf4);
            localaf4.a(this.a[i2], this.a[(i2 + 1)], 0);
            if (localaf1.c(localaf2) > paramFloat)
              break;
            i2 += 3;
          }
          while (i2 != i * 3);
          if ((localaf1.c(localaf3) > paramFloat) && (localaf3.c(localaf4) > paramFloat))
            locala.a(localaf3);
          locala.a(localaf4);
          return locala.c();
        }
      int i4 = i2;
      if (i4 < i * 3)
      {
        localaf4.d(this.a[i4], this.a[(i4 + 1)]);
        label462: float f1;
        if (i3 != 0)
        {
          if (i4 == 3 * (j - 1))
            localaf4.b(localaf5);
        }
        else
        {
          f1 = localaf2.c(localaf3);
          if (f1 <= paramFloat)
            break label546;
          if ((!bool) || (i4 != i2))
            break label535;
          localaf5.b(localaf2);
          label496: localaf1.b(localaf2);
          localaf2.b(localaf3);
          localaf3.b(localaf4);
        }
        while (true)
        {
          i4 += 3;
          break;
          if (i4 != j * 3)
          {
            break label462;
            label535: locala.a(localaf2);
            break label496;
            label546: float f2 = localaf1.c(localaf2);
            float f3 = localaf3.c(localaf4);
            double d1 = f2 + f1;
            double d2 = f1 + f3;
            double d3 = (d1 * localaf2.a + d2 * localaf3.a) / (d1 + d2);
            double d4 = (d1 * localaf2.b + d2 * localaf3.b) / (d2 + d1);
            localaf2.d((int)Math.round(d3), (int)Math.round(d4));
            localaf3.b(localaf4);
          }
        }
      }
      if ((bool) || (localaf2.c(localaf3) > paramFloat))
        locala.a(localaf2);
      if (bool)
        locala.a(locala.a(0));
      while (locala.a() != i)
      {
        return locala.c();
        locala.a(localaf3);
      }
    }
  }

  public final aj c(int paramInt)
  {
    int i = 0;
    if (paramInt == -536870912);
    a locala;
    label48: label110: 
    do
    {
      return this;
      int j;
      af localaf;
      int m;
      if (paramInt < 0)
      {
        j = 1;
        int k = this.a.length / 3;
        locala = new a(k);
        localaf = new af();
        m = 0;
        if (m >= k)
          continue;
        a(m, localaf);
        if (j == 0)
          break label110;
        if (localaf.a < paramInt)
        {
          localaf.a = (1073741824 + localaf.a);
          i = 1;
        }
      }
      while (true)
      {
        locala.a(localaf);
        m++;
        break label48;
        j = 0;
        break;
        if (localaf.a > paramInt)
        {
          localaf.a -= 1073741824;
          i = 1;
        }
      }
    }
    while (i == 0);
    return locala.c();
  }

  public final float d()
  {
    float f = 0.0F;
    if (this.c < 0.0F)
    {
      int i = -1 + this.a.length / 3;
      for (int j = 0; j < i; j++)
        f += b(j);
      this.c = f;
    }
    return this.c;
  }

  public final float d(int paramInt)
  {
    int i = paramInt * 3;
    return ah.a(this.a[(i + 3)] - this.a[i], this.a[(1 + (i + 3))] - this.a[(i + 1)]);
  }

  public final boolean e()
  {
    if (this.a.length > 0)
    {
      int i = -3 + this.a.length;
      return (this.a[0] == this.a[i]) && (this.a[1] == this.a[(i + 1)]) && (this.a[2] == this.a[(i + 2)]);
    }
    return false;
  }

  public final boolean equals(Object paramObject)
  {
    if (paramObject == this)
      return true;
    if ((paramObject instanceof aj))
    {
      aj localaj = (aj)paramObject;
      return Arrays.equals(this.a, localaj.a);
    }
    return false;
  }

  public final boolean f()
  {
    int i = this.a.length / 3;
    int j = 0;
    long l = 0L;
    while (j < i - 1)
    {
      af localaf3 = a(j);
      af localaf4 = a(j + 1);
      l += localaf3.a * localaf4.b - localaf4.a * localaf3.b;
      j++;
    }
    if (!e())
    {
      af localaf1 = c();
      af localaf2 = a(0);
      l += localaf1.a * localaf2.b - localaf2.a * localaf1.b;
    }
    boolean bool1 = l < 0L;
    boolean bool2 = false;
    if (bool1)
      bool2 = true;
    return bool2;
  }

  public final int g()
  {
    int i = this.a.length / 3;
    if (i == 0)
      return -536870912;
    i locali1 = i.a();
    af localaf1 = new af();
    a(0).i(localaf1);
    int j = 1;
    i locali2;
    for (Object localObject = locali1; j < i; localObject = locali2)
    {
      af localaf2 = new af(localaf1);
      a(j).i(localaf1);
      locali2 = ((i)localObject).a(i.a(i.a(af.b(localaf2.a)), i.a(af.b(localaf1.a))));
      j++;
    }
    if (((i)localObject).b())
      return -536870912;
    double d = i.a(-536870912);
    if (d == -3.141592653589793D)
      d = 3.141592653589793D;
    if (!((i)localObject).a(d))
      return -536870912;
    return af.b((int)(536870912.0D * (((i)localObject).d().c() / 3.141592653589793D)));
  }

  public final aj h()
  {
    int i = this.a.length;
    int[] arrayOfInt1 = new int[i];
    int[] arrayOfInt2 = this.a;
    for (int j = 0; j < this.a.length; j += 3)
    {
      arrayOfInt1[j] = arrayOfInt2[(-3 + (i - j))];
      arrayOfInt1[(j + 1)] = arrayOfInt2[(-2 + (i - j))];
      arrayOfInt1[(j + 2)] = arrayOfInt2[(-1 + (i - j))];
    }
    return new aj(arrayOfInt1);
  }

  public final int hashCode()
  {
    return Arrays.hashCode(this.a);
  }

  public final int i()
  {
    return 160 + 4 * this.a.length;
  }

  public static final class a
  {
    private int[] a;
    private int b;

    static
    {
      if (!aj.class.desiredAssertionStatus());
      for (boolean bool = true; ; bool = false)
      {
        c = bool;
        return;
      }
    }

    public a()
    {
      this(16);
    }

    public a(int paramInt)
    {
      if ((!c) && (paramInt <= 0))
        throw new AssertionError();
      this.a = new int[paramInt * 3];
      this.b = 0;
    }

    public final int a()
    {
      return this.b;
    }

    public final af a(int paramInt)
    {
      return new af(this.a[0], this.a[1], this.a[2]);
    }

    public final boolean a(af paramaf)
    {
      int i = paramaf.a;
      int j = paramaf.b;
      int k = paramaf.c;
      if (3 * this.b == this.a.length)
      {
        int[] arrayOfInt = new int[2 * this.a.length];
        System.arraycopy(this.a, 0, arrayOfInt, 0, 3 * this.b);
        this.a = arrayOfInt;
      }
      int m = 3 * this.b;
      if ((this.b > 0) && (i == this.a[(m - 3)]) && (j == this.a[(m - 2)]) && (k == this.a[(m - 1)]))
        return false;
      this.a[m] = i;
      this.a[(m + 1)] = j;
      this.a[(m + 2)] = k;
      this.b = (1 + this.b);
      return true;
    }

    public final void b()
    {
      this.b = 0;
    }

    public final aj c()
    {
      int[] arrayOfInt = new int[3 * this.b];
      System.arraycopy(this.a, 0, arrayOfInt, 0, 3 * this.b);
      return new aj(arrayOfInt, (byte)0);
    }
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.google.android.m4b.maps.bc.aj
 * JD-Core Version:    0.6.2
 */