package com.google.android.m4b.maps.ay;

import java.util.Arrays;

class g extends a
{
  private double[] b;

  protected g(double[] paramArrayOfDouble)
  {
    if (paramArrayOfDouble.length % 2 != 0)
      throw new IllegalArgumentException("Cannot create PolygonVertexList from incomplete array.");
    this.a = (paramArrayOfDouble.length / 2);
    this.b = paramArrayOfDouble;
  }

  static g a(double[] paramArrayOfDouble)
  {
    return new g(paramArrayOfDouble);
  }

  static g a(double[] paramArrayOfDouble, int[] paramArrayOfInt)
  {
    if ((paramArrayOfDouble.length % 2 != 0) || (paramArrayOfInt.length < 2) || (paramArrayOfInt[0] != 0) || (paramArrayOfInt[(-1 + paramArrayOfInt.length)] != paramArrayOfDouble.length / 2))
      throw new IllegalArgumentException("ChainStartIndices for PolygonVertexList.create invalid.");
    if (paramArrayOfInt.length == 2)
      return new g(paramArrayOfDouble);
    return new h(paramArrayOfDouble, paramArrayOfInt);
  }

  private boolean a(int paramInt1, int paramInt2, int paramInt3, int paramInt4)
  {
    boolean bool2;
    if (a(paramInt1, paramInt2, paramInt3) < 0.0D)
      if (a(paramInt1, paramInt2, paramInt4) < 0.0D)
      {
        boolean bool4 = a(paramInt2, paramInt3, paramInt4) < 0.0D;
        bool2 = false;
        if (bool4);
      }
      else
      {
        bool2 = true;
      }
    boolean bool3;
    do
    {
      boolean bool1;
      do
      {
        return bool2;
        bool1 = a(paramInt1, paramInt2, paramInt4) < 0.0D;
        bool2 = false;
      }
      while (!bool1);
      bool3 = a(paramInt2, paramInt3, paramInt4) < 0.0D;
      bool2 = false;
    }
    while (!bool3);
    return true;
  }

  private boolean b(int paramInt1, int paramInt2, int paramInt3)
  {
    if (a(paramInt2, paramInt3) == 0);
    do
    {
      return true;
      if ((a(paramInt1, paramInt2) == 0) || (a(paramInt1, paramInt3) == 0))
        return false;
      if (a(paramInt1, paramInt2) != a(paramInt1, paramInt3))
        return false;
    }
    while (a(paramInt1, paramInt2, paramInt3) == 0.0D);
    return false;
  }

  private double i(int paramInt)
  {
    int i = g(paramInt);
    int j = g(paramInt + 1);
    if (j - i < 3)
      return 0.0D;
    double d1 = this.b[(2 * (j - 1))];
    double d2 = this.b[(1 + 2 * (j - 1))];
    double d3 = 0.0D;
    double d4 = 0.0D;
    int k = i;
    double d6;
    for (double d5 = 0.0D; k < j; d5 = d6)
    {
      d6 = this.b[(k * 2)] - d1;
      double d7 = this.b[(1 + k * 2)] - d2;
      double d8 = d4 + (d5 * d7 - d3 * d6);
      int m = k + 1;
      d4 = d8;
      k = m;
      d3 = d7;
    }
    return d4 / 2.0D;
  }

  public final double a(int paramInt)
  {
    return this.b[(paramInt * 2)];
  }

  public int a()
  {
    return 0;
  }

  final void a(int paramInt1, double[] paramArrayOfDouble, int paramInt2, int paramInt3)
  {
    System.arraycopy(this.b, paramInt1 * 2, paramArrayOfDouble, paramInt2 * 2, paramInt3 * 2);
  }

  protected boolean a(Object paramObject)
  {
    return paramObject instanceof g;
  }

  public final double b(int paramInt)
  {
    return this.b[(1 + paramInt * 2)];
  }

  public final m b()
  {
    return new m(this);
  }

  protected final String b(int paramInt1, int paramInt2)
  {
    StringBuilder localStringBuilder = new StringBuilder();
    localStringBuilder.append("[(");
    localStringBuilder.append(this.b[(paramInt1 * 2)]);
    localStringBuilder.append(", ");
    localStringBuilder.append(this.b[(1 + paramInt1 * 2)]);
    localStringBuilder.append(")");
    for (int i = paramInt1 + 1; i < paramInt2; i++)
    {
      localStringBuilder.append(", (");
      localStringBuilder.append(this.b[(i * 2)]);
      localStringBuilder.append(", ");
      localStringBuilder.append(this.b[(1 + i * 2)]);
      localStringBuilder.append(")");
    }
    localStringBuilder.append("]");
    return localStringBuilder.toString();
  }

  public int c(int paramInt)
  {
    return h(paramInt - 1);
  }

  public final j c()
  {
    return new j(this);
  }

  public final double d()
  {
    double d = 0.0D;
    for (int i = 0; i < 1 + a(); i++)
      d += i(i);
    return d;
  }

  public int d(int paramInt)
  {
    return h(paramInt + 1);
  }

  public final a.b e(int paramInt)
  {
    int i = c(paramInt);
    int j = d(paramInt);
    double d1 = a(i, paramInt, j);
    int k;
    int m;
    label62: int n;
    label73: int i1;
    label84: int i2;
    label105: int i3;
    label116: int i4;
    if (d1 < 0.0D)
    {
      k = 1;
      double d2 = this.b[(paramInt * 2)];
      double d3 = this.b[(i * 2)];
      if (d3 >= d2)
        break label195;
      m = 1;
      if (d3 != d2)
        break label201;
      n = 1;
      if (d3 <= d2)
        break label207;
      i1 = 1;
      double d4 = this.b[(j * 2)];
      if (d4 >= d2)
        break label213;
      i2 = 1;
      if (d4 != d2)
        break label219;
      i3 = 1;
      if (d4 <= d2)
        break label225;
      i4 = 1;
    }
    while (true)
      if ((n != 0) && (i3 != 0))
      {
        if (this.b[(1 + j * 2)] < this.b[(1 + paramInt * 2)])
        {
          if (this.b[(1 + i * 2)] < this.b[(1 + paramInt * 2)])
          {
            return a.b.f;
            k = 0;
            break;
            label195: m = 0;
            break label62;
            label201: n = 0;
            break label73;
            label207: i1 = 0;
            break label84;
            label213: i2 = 0;
            break label105;
            label219: i3 = 0;
            break label116;
            label225: i4 = 0;
            continue;
          }
          return a.b.d;
        }
        if (this.b[(1 + i * 2)] > this.b[(1 + paramInt * 2)])
          return a.b.e;
        return a.b.c;
      }
    if ((d1 == 0.0D) && ((n != 0) || (i3 != 0)))
    {
      if (n == 0)
        break label348;
      if (this.b[(1 + i * 2)] >= this.b[(1 + paramInt * 2)])
        break label341;
      k = i4;
    }
    while (k != 0)
      if ((i1 != 0) && ((i4 != 0) || (i3 != 0)))
      {
        return a.b.a;
        label341: k = i2;
        continue;
        label348: if (this.b[(1 + j * 2)] < this.b[(1 + paramInt * 2)])
          k = m;
        else
          k = i1;
      }
      else
      {
        if ((m == 0) || ((i2 == 0) && (i3 == 0)))
          break label443;
        return a.b.b;
      }
    if (((i1 != 0) || (n != 0)) && (i4 != 0))
      return a.b.e;
    if (((m != 0) || (n != 0)) && (i2 != 0))
      return a.b.f;
    label443: if (((m != 0) || (n != 0)) && ((i4 != 0) || (i3 != 0)))
      return a.b.c;
    return a.b.d;
  }

  public final boolean e()
  {
    label201: label207: for (int i = 0; i < this.a; i++)
    {
      int j = c(i);
      int k = d(i);
      if (a(j, i, k) == 0.0D)
      {
        double d1 = a(j);
        double d2 = b(j);
        double d3 = a(i);
        double d4 = b(i);
        double d5 = a(k);
        double d6 = b(k);
        if (((d1 == d3) || (d5 == d3)) && ((d1 != d3) || (d5 != d3)))
          break;
        int m;
        if ((l.a(d1, d2, d3, d4) < 0) || ((l.a(d1, d2, d3, d4) == 0) && (d2 < d4)))
        {
          m = 1;
          if ((l.a(d5, d6, d3, d4) >= 0) && ((l.a(d5, d6, d3, d4) >= 0) || (d6 >= d4)))
            break label201;
        }
        for (int n = 1; ; n = 0)
        {
          if (m != n)
            break label207;
          return true;
          m = 0;
          break;
        }
      }
    }
    return false;
  }

  public boolean equals(Object paramObject)
  {
    if (paramObject == this);
    g localg;
    do
    {
      return true;
      if (!(paramObject instanceof g))
        return false;
      localg = (g)paramObject;
    }
    while ((localg.a(this)) && (Arrays.equals(this.b, localg.b)));
    return false;
  }

  public final boolean f()
  {
    boolean bool1 = i(0) < 0.0D;
    boolean bool2 = false;
    if (!bool1)
      bool2 = true;
    return bool2;
  }

  public final boolean g()
  {
    for (int i = 1; i < 1 + a(); i++)
      if (i(i) >= 0.0D)
        return true;
    return false;
  }

  public final boolean h()
  {
    j localj = c();
    b localb = new b(this);
    boolean bool;
    for (int i = 0; i < localj.c; i++)
    {
      int i7 = localj.j(i);
      int i8 = localj.d(i7);
      int i9 = localj.e(i7);
      int i10;
      if ((localj.g(i8, i7) == 0) || (localj.g(i7, i9) == 0))
        i10 = 1;
      while (i10 != 0)
      {
        bool = true;
        return bool;
        a.b localb1 = e(i7);
        if (((localb1 == a.b.d) && ((localb.a(i8, i7)) || (localb.b(i7, i9)))) || ((localb1 == a.b.c) && ((localb.a(i7, i9)) || (localb.b(i8, i7)))) || ((localb1 == a.b.a) && ((localb.a(i8, i7)) || (localb.a(i7, i9)))) || ((localb1 == a.b.b) && ((localb.b(i7, i9)) || (localb.b(i8, i7)))) || ((localb1 == a.b.e) && ((localb.a(i7, i9)) || (localb.a(i8, i7)))) || ((localb1 == a.b.f) && ((localb.b(i8, i7)) || (localb.b(i7, i9)))))
          i10 = 1;
        else
          i10 = 0;
      }
    }
    for (int j = 0; ; j++)
    {
      int k = this.a;
      bool = false;
      if (j >= k)
        break;
      for (int m = j + 1; m < this.a; m++)
        if (a(j, m) == 0)
        {
          int n = c(j);
          int i1 = d(j);
          int i2;
          int i3;
          int i4;
          int i5;
          int i6;
          if ((n != m) && (i1 != m))
          {
            i2 = c(j);
            i3 = d(j);
            i4 = c(m);
            i5 = d(m);
            if ((a(i2, j) != 0) && (a(j, i3) != 0) && (a(i4, m) != 0) && (a(m, i5) != 0) && (!b(j, i2, i3)) && (!b(j, i2, i4)) && (!b(j, i2, i5)) && (!b(j, i3, i4)) && (!b(j, i3, i5)) && (!b(j, i4, i5)))
              break label553;
            i6 = 0;
          }
          while ((i6 != 0) || (a(j, n, c(m), i1, d(m))))
          {
            return true;
            label553: if ((a(i2, j, i3, i4)) && (a(i2, j, i3, i5)) && (a(j, i3, i2, i5, i4)))
              i6 = 1;
            else
              i6 = 0;
          }
        }
    }
  }

  public int hashCode()
  {
    return Arrays.hashCode(this.b);
  }

  public String toString()
  {
    return b(0, g(1));
  }
}

/* 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.ay.g
 * JD-Core Version:    0.6.2
 */