package com.google.android.m4b.maps.bo;

import com.google.android.m4b.maps.bc.af;
import com.google.android.m4b.maps.bc.ah;
import com.google.android.m4b.maps.bc.aj;
import com.google.android.m4b.maps.bc.bm;
import com.google.android.m4b.maps.bp.d;
import com.google.android.m4b.maps.bp.h;
import com.google.android.m4b.maps.bp.l;
import java.util.Iterator;
import java.util.List;

public final class f
{
  private static final float a = (float)Math.sqrt(2.0D);
  private static final ThreadLocal<f> t = new ThreadLocal()
  {
  };
  private static final int[] u = { 0, 65536, 65536, 65536, 0, 32768, 65536, 32768 };
  private static final int[] v = { 0, 32768, 65536, 32768, 0, 65536, 65536, 65536 };
  private static final int[] w = { 0, 16384, 65536, 16384 };
  private static final int[] x = { 0, 16384, 65536, 16384, 32768, 16384, 0, 16384, 65536, 16384 };
  private static final int[][] y = new int[16][];
  private final af b = new af();
  private final af c = new af();
  private final af d = new af();
  private final af e = new af();
  private final af f = new af();
  private final af g = new af();
  private final af h = new af();
  private final af i = new af();
  private final af j = new af();
  private final af k = new af();
  private final bm l = new bm();
  private final bm m = new bm();
  private final bm n = new bm();
  private final bm o = new bm();
  private final bm p = new bm();
  private final bm q = new bm();
  private final bm r = new bm();
  private final bm s = new bm();

  public static int a(aj paramaj)
  {
    int i1 = -1 + paramaj.b();
    if (i1 == 1)
      return 6;
    return 8 + 5 * (i1 - 1);
  }

  public static int a(List<aj> paramList)
  {
    Iterator localIterator = paramList.iterator();
    int i1 = 0;
    while (localIterator.hasNext())
      i1 += 5 * ((aj)localIterator.next()).b();
    return i1;
  }

  public static f a()
  {
    return (f)t.get();
  }

  public static void a(int paramInt1, boolean paramBoolean, int paramInt2, int[] paramArrayOfInt, h paramh)
  {
    paramh.c(5 * (paramInt1 - 1) + paramh.g());
    if (y[paramInt2] == null)
    {
      int[][] arrayOfInt = y;
      int i3 = 1 << paramInt2;
      int[] arrayOfInt2 = new int[2 * (i3 * 5)];
      int i4 = 32768 / i3;
      for (int i5 = 0; i5 < arrayOfInt2.length; i5 += 10)
      {
        arrayOfInt2[i5] = 0;
        arrayOfInt2[(i5 + 1)] = i4;
        arrayOfInt2[(i5 + 2)] = 65536;
        arrayOfInt2[(i5 + 3)] = i4;
        arrayOfInt2[(i5 + 4)] = 65536;
        arrayOfInt2[(i5 + 5)] = i4;
        arrayOfInt2[(i5 + 6)] = 0;
        arrayOfInt2[(i5 + 7)] = i4;
        arrayOfInt2[(i5 + 8)] = 32768;
        arrayOfInt2[(i5 + 9)] = i4;
        i4 += 65536 / i3;
      }
      arrayOfInt[paramInt2] = arrayOfInt2;
    }
    int[] arrayOfInt1 = y[paramInt2];
    int i1 = paramArrayOfInt[0];
    for (int i2 = 1; i2 < paramInt1; i2++)
      paramh.a(arrayOfInt1, 2 * (i1 * 5), 10);
  }

  public static int b(aj paramaj)
  {
    int i1 = -1 + paramaj.b();
    if (i1 == 1)
      return 12;
    return 6 * (i1 + 2) + 3 * (i1 - 1);
  }

  public static int b(List<aj> paramList)
  {
    Iterator localIterator = paramList.iterator();
    int i1 = 0;
    int i2;
    if (localIterator.hasNext())
    {
      aj localaj = (aj)localIterator.next();
      i2 = -1 + localaj.b();
      if (!localaj.e())
        break label64;
    }
    label64: for (int i3 = i2 + 1; ; i3 = i2)
    {
      i1 += 6 * (i3 * 3);
      break;
      return i1;
    }
  }

  public final int a(aj paramaj, float paramFloat, af paramaf, int paramInt, l paraml, h paramh, d paramd, boolean paramBoolean1, boolean paramBoolean2, byte paramByte)
  {
    if (paramFloat < 1.0F)
      return 0;
    int i1 = paramaj.b();
    if (i1 == 2)
    {
      int i16 = paraml.a();
      af localaf12 = this.b;
      af localaf13 = this.c;
      af localaf14 = this.d;
      af localaf15 = this.e;
      af localaf16 = this.f;
      af localaf17 = this.g;
      af localaf18 = this.h;
      paramaj.a(0, paramaf, localaf12);
      paramaj.a(1, paramaf, localaf13);
      ah.d(localaf13, localaf12, localaf14);
      ah.a(localaf14, paramFloat, localaf15);
      ah.a(localaf15, localaf16);
      if (paramBoolean1)
        ah.c(localaf12, localaf16, localaf12);
      if (paramBoolean2)
        ah.d(localaf13, localaf16, localaf13);
      ah.c(localaf12, localaf15, localaf18);
      paraml.a(localaf18, paramInt, (byte)0);
      ah.d(localaf12, localaf15, localaf18);
      paraml.a(localaf18, paramInt, (byte)0);
      ah.e(localaf12, localaf13, localaf17);
      ah.c(localaf17, localaf15, localaf18);
      paraml.a(localaf18, paramInt, (byte)0);
      ah.d(localaf17, localaf15, localaf18);
      paraml.a(localaf18, paramInt, (byte)0);
      ah.c(localaf13, localaf15, localaf18);
      paraml.a(localaf18, paramInt, (byte)0);
      ah.d(localaf13, localaf15, localaf18);
      paraml.a(localaf18, paramInt, (byte)0);
      int i17 = (int)(65536.0F * (0.5F + -0.25F * (localaf14.i() / paramFloat)));
      if (paramBoolean1)
      {
        paramh.a(0, 65536);
        paramh.a(65536, 65536);
        paramh.a(0, i17);
        paramh.a(65536, i17);
        if (!paramBoolean2)
          break label437;
        paramh.a(0, 65536);
        paramh.a(65536, 65536);
      }
      while (true)
      {
        paramd.a(i16, i16 + 1, i16 + 2, i16 + 3);
        paramd.a(i16 + 2, i16 + 3, i16 + 4, i16 + 5);
        return 6;
        paramh.a(0, i17);
        paramh.a(65536, i17);
        break;
        label437: paramh.a(0, i17);
        paramh.a(65536, i17);
      }
    }
    if (i1 < 2)
      return 0;
    af localaf1 = this.b;
    af localaf2 = this.c;
    af localaf3 = this.d;
    af localaf4 = this.e;
    af localaf5 = this.f;
    af localaf6 = this.g;
    af localaf7 = this.h;
    af localaf8 = this.i;
    af localaf9 = this.j;
    af localaf10 = this.k;
    int i2 = paraml.a();
    paramaj.a(0, paramaf, localaf1);
    paramaj.a(1, paramaf, localaf2);
    ah.d(localaf2, localaf1, localaf4);
    ah.a(localaf4, paramFloat, localaf6);
    ah.a(localaf6, localaf8);
    ah.c(localaf1, localaf8, localaf1);
    ah.c(localaf1, localaf6, localaf10);
    paraml.a(localaf10, paramInt, (byte)0);
    ah.d(localaf1, localaf6, localaf10);
    paraml.a(localaf10, paramInt, (byte)0);
    ah.d(localaf1, localaf8, localaf1);
    ah.c(localaf1, localaf6, localaf10);
    paraml.a(localaf10, paramInt, (byte)0);
    ah.d(localaf1, localaf6, localaf10);
    paraml.a(localaf10, paramInt, (byte)0);
    paramh.a(u);
    int i3 = 4;
    int i4;
    int i5;
    label756: int i7;
    label808: af localaf11;
    label884: int i14;
    int i9;
    int i8;
    if (paramBoolean1)
    {
      paramd.a(i2, i2 + 1, i2 + 2, i2 + 3);
      paramd.a(i2 + 2, i2 + 3, i2 + 4, i2 + 5);
      i4 = i2 + 4;
      float f1 = paramFloat * paramFloat;
      i5 = 1;
      if (i5 >= i1 - 1)
        break label1270;
      paramaj.a(i5 + 1, paramaf, localaf3);
      ah.d(localaf3, localaf2, localaf5);
      ah.a(localaf5, paramFloat, localaf7);
      if (ah.c(localaf4, localaf5) <= 0L)
        break label1235;
      i7 = 1;
      ah.c(localaf6, localaf7, localaf9);
      float f2 = af.a(localaf7, localaf9);
      if ((f2 <= 1.0F) || (af.a(localaf4, localaf5) < 0.0F))
        break label1444;
      af.a(localaf9, f1 / f2, localaf9);
      ah.c(localaf2, localaf9, localaf10);
      ah.d(localaf2, localaf9, localaf8);
      if (i7 == 0)
        break label1241;
      localaf11 = localaf10;
      if ((af.c(localaf2, localaf1, localaf11) >= 0.5F) || (af.c(localaf2, localaf3, localaf11) >= 0.5F))
        break label1444;
      paraml.a(localaf10, paramInt, (byte)0);
      paraml.a(localaf8, paramInt, (byte)0);
      i14 = i3 + 2;
      paramh.a(w);
      paramd.a(i4, i4 + 1, i4 + 2, i4 + 3);
      int i15 = i4 + 2;
      i9 = 0;
      i8 = i15;
    }
    for (int i10 = i14; ; i10 = i3)
    {
      int i13;
      label1133: int i11;
      if (i9 != 0)
      {
        ah.c(localaf2, localaf6, localaf10);
        paraml.a(localaf10, paramInt, (byte)0);
        ah.d(localaf2, localaf6, localaf10);
        paraml.a(localaf10, paramInt, (byte)0);
        paraml.a(localaf2, paramInt, (byte)0);
        ah.c(localaf2, localaf7, localaf10);
        paraml.a(localaf10, paramInt, (byte)0);
        ah.d(localaf2, localaf7, localaf10);
        paraml.a(localaf10, paramInt, (byte)0);
        paramh.a(x);
        i13 = i10 + 5;
        if (i7 != 0)
        {
          paramd.a(i8 + 2, i8 + 1, i8 + 4);
          paramd.a(i8 + 3, i8 + 4, i8 + 5, i8 + 6);
          i11 = i8 + 5;
        }
      }
      for (int i12 = i13; ; i12 = i10)
      {
        localaf6.b(localaf7);
        localaf4.b(localaf5);
        localaf1.b(localaf2);
        localaf2.b(localaf3);
        i5++;
        i4 = i11;
        i3 = i12;
        break label756;
        paramd.a(i2 + 2, i2 + 2, i2 + 2, i2 + 2);
        break;
        label1235: i7 = 0;
        break label808;
        label1241: localaf11 = localaf8;
        break label884;
        paramd.a(i8 + 0, i8 + 2, i8 + 3);
        break label1133;
        label1270: ah.c(localaf3, localaf7, localaf10);
        paraml.a(localaf10, paramInt, (byte)0);
        ah.d(localaf3, localaf7, localaf10);
        paraml.a(localaf10, paramInt, (byte)0);
        ah.a(localaf7, localaf8);
        ah.d(localaf3, localaf8, localaf3);
        ah.c(localaf3, localaf7, localaf10);
        paraml.a(localaf10, paramInt, (byte)0);
        ah.d(localaf3, localaf7, localaf10);
        paraml.a(localaf10, paramInt, (byte)0);
        paramh.a(v);
        int i6 = i3 + 4;
        if (paramBoolean2)
        {
          paramd.a(i4, i4 + 1, i4 + 2, i4 + 3);
          return i6;
        }
        paramd.a(i4, i4, i4, i4);
        return i6;
        i11 = i8;
      }
      label1444: i8 = i4;
      i9 = 1;
    }
  }

  public final void a(aj paramaj, float paramFloat1, float paramFloat2, af paramaf, int paramInt1, int paramInt2, int paramInt3, l paraml, d paramd, h paramh)
  {
    int i1 = paramaj.b();
    if (i1 <= 1)
      return;
    int i2 = i1 - 1;
    int i3 = paraml.a();
    int i4 = i1 * 5;
    boolean bool1 = paramaj.e();
    paraml.a(i3 + i4);
    if (paramh != null)
      paramh.c(i4 + paramh.g());
    paramd.b(paramd.b() + 6 * (i2 * 3));
    af localaf1 = this.b;
    af localaf2 = this.c;
    af localaf3 = this.d;
    af localaf4 = this.e;
    af localaf5 = this.f;
    af localaf6 = this.g;
    af localaf7 = this.h;
    bm localbm1 = this.l;
    bm localbm2 = this.m;
    bm localbm3 = this.n;
    bm localbm4 = this.o;
    bm localbm5 = this.p;
    bm localbm6 = this.q;
    int i5 = -1;
    int i6 = -1;
    float f1 = paramFloat1 + paramFloat2;
    int i7 = (int)((paramFloat2 * paramInt2 + paramFloat1 * paramInt3) / f1);
    int i8 = 0;
    int i9 = -1;
    int i10 = -1;
    int i11 = -1;
    int i12 = i3;
    label218: int i13;
    int i14;
    int i15;
    if (i8 < i1)
    {
      paramaj.a(i8, paramaf, localaf2);
      i13 = i8 - 1;
      i14 = i8 + 1;
      if (!bool1)
        break label1419;
      if (i13 < 0)
        i13 = i1 - 2;
      if (i14 < i1)
        break label1419;
      i15 = i13;
    }
    for (int i16 = 1; ; i16 = i14)
    {
      bm localbm7;
      label305: bm localbm8;
      label335: int i17;
      label404: int i22;
      int i23;
      int i24;
      int i25;
      int i26;
      int i18;
      int i27;
      label535: int i28;
      if (i15 >= 0)
      {
        paramaj.a(i15, paramaf, localaf1);
        localbm7 = this.r.a(localaf2, localaf1);
        if (i16 >= i1)
          break label713;
        paramaj.a(i16, paramaf, localaf3);
        localbm8 = this.s.a(localaf2, localaf3);
        if ((localbm7 == null) || (localbm8 == null))
          break label725;
        localbm1.a(localbm7).c();
        localbm2.a(localbm8).c();
        localbm3.a(localbm1).b(localbm2);
        if (!localbm3.a(0.0F, 0.0F))
          break label719;
        localbm3.a(localbm1).d();
        i17 = 1;
        if (i17 == 0)
          break label773;
        bm.a(localaf2, localbm6.a(localbm3).a(-paramFloat1), localaf4);
        bm.a(localaf2, localbm6.a(localbm3).a(paramFloat2), localaf5);
        paraml.a(localaf4, paramInt1);
        paraml.a(localaf5, paramInt1);
        if (paramh != null)
        {
          paramh.a(paramInt2, 0);
          paramh.a(paramInt3, 0);
        }
        int i33 = i12 + 1;
        int i34 = i33 + 1;
        i22 = i12;
        i23 = i33;
        i24 = i34;
        i25 = i5;
        i26 = i6;
        i18 = i33;
        i27 = i12;
        i28 = i24 + 1;
        paraml.a(localaf2, paramInt1);
        if (paramh != null)
          paramh.a(i7, 0);
        if ((!bool1) || (i8 != i1 - 1))
          break label1413;
      }
      label1413: for (int i29 = 1; ; i29 = 0)
      {
        if ((i17 == 0) && (i29 == 0))
        {
          paramd.a(i25, i24, i27);
          paramd.a(i24, i26, i27);
        }
        if (i8 > 0)
        {
          paramd.a(i10, i9, i24);
          paramd.a(i9, i11, i24);
          paramd.a(i10, i24, i22);
          paramd.a(i24, i11, i18);
        }
        i8++;
        i9 = i24;
        i10 = i12;
        i11 = i23;
        i6 = i26;
        i5 = i25;
        i12 = i28;
        break label218;
        break;
        localbm7 = null;
        break label305;
        label713: localbm8 = null;
        break label335;
        label719: i17 = 0;
        break label404;
        label725: if (localbm7 != null)
        {
          localbm3.a(localbm7).d().c();
          i17 = 1;
          break label404;
        }
        localbm3.a(localbm8).d().c().a();
        i17 = 1;
        break label404;
        label773: localbm3.c();
        boolean bool2 = localbm7.d(localbm8);
        localbm4.a(localbm8).d().c();
        float f2 = localbm3.c(localbm4);
        if (bool2);
        float f4;
        for (float f3 = paramFloat1; ; f3 = paramFloat2)
        {
          f4 = f3 / -f2;
          localbm5.a(localbm3).a(f4);
          float f5 = localbm7.b();
          float f6 = localbm8.b();
          float f7 = Math.abs(localbm5.c(localbm6.a(localbm7).c()));
          float f8 = Math.abs(localbm5.c(localbm6.a(localbm8).c()));
          float f9 = Math.min(f5 / f7, f6 / f8);
          if (f9 < 1.0F)
            f4 *= Math.max(Math.abs(f2), f9);
          if (!bool2)
            break label1178;
          bm.a(localaf2, localbm6.a(localbm3).a(-paramFloat2), localaf4);
          bm.a(localaf2, localbm6.a(localbm3).a(-f4), localaf5);
          bm.a(localaf2, localbm6.a(localbm8).d().c().a(-paramFloat2), localaf6);
          bm.a(localaf2, localbm6.a(localbm7).d().c().a(paramFloat2), localaf7);
          paraml.a(localaf4, paramInt1);
          paraml.a(localaf5, paramInt1);
          paraml.a(localaf6, paramInt1);
          paraml.a(localaf7, paramInt1);
          if (paramh != null)
          {
            paramh.a(paramInt3, 0);
            paramh.a(paramInt2, 0);
            paramh.a(paramInt3, 0);
            paramh.a(paramInt3, 0);
          }
          int i30 = i12 + 1;
          int i31 = i30 + 1;
          i18 = i31 + 1;
          int i32 = i18 + 1;
          i22 = i30;
          i23 = i31;
          i24 = i32;
          i25 = i31;
          i26 = i18;
          i27 = i12;
          i12 = i30;
          break;
        }
        label1178: bm.a(localaf2, localbm6.a(localbm3).a(f4), localaf5);
        bm.a(localaf2, localbm6.a(localbm3).a(-paramFloat1), localaf4);
        bm.a(localaf2, localbm6.a(localbm7).d().c().a(-paramFloat1), localaf6);
        bm.a(localaf2, localbm6.a(localbm8).d().c().a(paramFloat1), localaf7);
        paraml.a(localaf4, paramInt1);
        paraml.a(localaf5, paramInt1);
        paraml.a(localaf6, paramInt1);
        paraml.a(localaf7, paramInt1);
        if (paramh != null)
        {
          paramh.a(paramInt2, 0);
          paramh.a(paramInt3, 0);
          paramh.a(paramInt2, 0);
          paramh.a(paramInt2, 0);
        }
        i18 = i12 + 1;
        int i19 = i18 + 1;
        int i20 = i19 + 1;
        int i21 = i20 + 1;
        i22 = i19;
        i23 = i18;
        i24 = i21;
        i25 = i19;
        i26 = i20;
        i27 = i12;
        i12 = i20;
        break label535;
      }
      label1419: i15 = i13;
    }
  }

  public final void a(aj paramaj, float paramFloat1, af paramaf, int paramInt, float paramFloat2, l paraml, d paramd, h paramh1, h paramh2)
  {
    int i1 = paramaj.b();
    int i2 = i1 - 1;
    int i3 = paraml.a();
    int i4 = i2 * 4;
    Object localObject1 = this.b;
    af localaf1 = this.c;
    af localaf2 = this.d;
    af localaf3 = this.e;
    af localaf4 = this.f;
    paraml.a(i4 + paraml.a());
    if (paramh1 != null)
      paramh1.c(i4 + paramh1.g());
    paramaj.a(0, (af)localObject1);
    ah.d((af)localObject1, paramaf, (af)localObject1);
    float f1 = 0.0F;
    Object localObject2 = localaf1;
    int i5 = 1;
    while (i5 < i1)
    {
      paramaj.a(i5, (af)localObject2);
      ah.d((af)localObject2, paramaf, (af)localObject2);
      ah.d((af)localObject2, (af)localObject1, localaf2);
      ah.a(localaf2, -paramFloat1, localaf3);
      paraml.a((af)localObject1, paramInt);
      ah.c((af)localObject1, localaf3, localaf4);
      paraml.a(localaf4, paramInt);
      ah.c((af)localObject2, localaf3, localaf4);
      paraml.a(localaf4, paramInt);
      paraml.a((af)localObject2, paramInt);
      if (paramh1 != null)
      {
        float f2 = paramFloat2 * (localaf2.i() / paramInt);
        paramh1.a(0.0F, f1);
        paramh1.a(1.0F, f1);
        f1 += f2;
        paramh1.a(1.0F, f1);
        paramh1.a(0.0F, f1);
      }
      i5++;
      Object localObject3 = localObject1;
      localObject1 = localObject2;
      localObject2 = localObject3;
    }
    int i6 = i2 * 2;
    int i7 = i2 - 1;
    paramd.b(paramd.b() + 3 * (i6 + i7));
    af localaf5 = this.d;
    af localaf6 = this.e;
    af localaf7 = this.f;
    int i8 = 0;
    int i9 = i3 + i8 * 4;
    label412: int i10;
    if (paramFloat1 > 0.0F)
    {
      paramd.a(i9, i9 + 1, i9 + 2);
      paramd.a(i9, i9 + 2, i9 + 3);
      if (i8 == i2 - 1)
        return;
      paramaj.a(i8, (af)localObject1);
      paramaj.a(i8 + 1, (af)localObject2);
      paramaj.a(i8 + 2, localaf5);
      ah.d((af)localObject2, (af)localObject1, localaf6);
      ah.d(localaf5, (af)localObject2, localaf7);
      if (paramFloat1 * (float)ah.c(localaf6, localaf7) > 0.0F)
      {
        i10 = i9 + 4;
        if (paramFloat1 <= 0.0F)
          break label556;
        paramd.a(i9 + 3, i9 + 2, i10 + 1);
      }
    }
    while (true)
    {
      i8++;
      break;
      paramd.a(i9, i9 + 2, i9 + 1);
      paramd.a(i9, i9 + 3, i9 + 2);
      break label412;
      label556: paramd.a(i9 + 2, i9 + 3, i10 + 1);
    }
  }

  public final void a(aj paramaj, float paramFloat1, boolean paramBoolean, af paramaf, int paramInt, float paramFloat2, l paraml, d paramd, h paramh)
  {
    int i1 = paramaj.b();
    int i2 = i1 - 1;
    int i3 = paraml.a();
    if (i2 <= 0);
    Object localObject1;
    Object localObject2;
    af localaf2;
    af localaf3;
    af localaf4;
    label564: label714: 
    do
    {
      do
      {
        int i4;
        int i5;
        do
        {
          return;
          if (paramBoolean);
          for (i4 = 5; ; i4 = 4)
          {
            i5 = i4 * i2;
            localObject1 = this.b;
            localObject2 = this.c;
            paraml.a(i5 + paraml.a());
            af localaf1 = this.d;
            if (paramh != null)
              paramh.c(i5 + paramh.g());
            paramaj.a(0, (af)localObject2);
            ah.d((af)localObject2, paramaf, (af)localObject2);
            float f1 = 0.0F;
            int i6 = 1;
            while (i6 < i1)
            {
              paramaj.a(i6, (af)localObject1);
              ah.d((af)localObject1, paramaf, (af)localObject1);
              af localaf5 = this.d;
              af localaf6 = this.e;
              ah.d((af)localObject1, (af)localObject2, localaf5);
              ah.a(localaf5, paramFloat1, localaf6);
              ah.c((af)localObject2, localaf6, localaf5);
              paraml.a(localaf5, paramInt);
              ah.d((af)localObject2, localaf6, localaf5);
              paraml.a(localaf5, paramInt);
              ah.d((af)localObject1, localaf6, localaf5);
              paraml.a(localaf5, paramInt);
              ah.c((af)localObject1, localaf6, localaf5);
              paraml.a(localaf5, paramInt);
              if (paramBoolean)
                paraml.a((af)localObject1, paramInt);
              if (paramh != null)
              {
                ah.d((af)localObject1, (af)localObject2, localaf1);
                float f2 = paramFloat2 * (localaf1.i() / paramInt);
                paramh.a(0.0F, f1);
                paramh.a(1.0F, f1);
                f1 += f2;
                paramh.a(1.0F, f1);
                paramh.a(0.0F, f1);
                if (paramBoolean)
                  paramh.a(0.5F, f1);
              }
              i6++;
              Object localObject3 = localObject1;
              localObject1 = localObject2;
              localObject2 = localObject3;
            }
          }
        }
        while (paramd == null);
        int i7 = i3 + i5;
        if (i7 > 32767)
          throw new ArrayIndexOutOfBoundsException(i7 + " required, but we can only store 32767");
        localaf2 = this.d;
        localaf3 = this.e;
        localaf4 = this.f;
        int i8 = i2 * 2;
        int i9;
        if (paramaj.e())
        {
          i9 = 0;
          int i10 = i2 - i9;
          if (!paramBoolean)
            break label564;
          paramd.b(paramd.b() + 3 * (i10 + i8));
        }
        while (true)
        {
          for (int i11 = 0; i11 < i2; i11++)
          {
            int i18 = i3 + i11 * i4;
            paramd.a(i18, i18 + 1, i18 + 2);
            paramd.a(i18, i18 + 2, i18 + 3);
          }
          i9 = 1;
          break;
          paramd.b(paramd.b() + i8 * 3);
        }
      }
      while (!paramBoolean);
      int i12 = 0;
      if (i12 < i2 - 1)
      {
        paramaj.a(i12, (af)localObject2);
        paramaj.a(i12 + 1, (af)localObject1);
        paramaj.a(i12 + 2, localaf2);
        ah.d((af)localObject1, (af)localObject2, localaf3);
        ah.d(localaf2, (af)localObject1, localaf4);
        int i15;
        int i16;
        int i17;
        if (ah.c(localaf3, localaf4) > 0L)
        {
          i15 = 1;
          i16 = i3 + i12 * 5;
          i17 = i16 + 5;
          if (i15 == 0)
            break label714;
          paramd.a(i16 + 2, i17 + 1, i16 + 4);
        }
        while (true)
        {
          i12++;
          break;
          i15 = 0;
          break label663;
          paramd.a(i16 + 3, i16 + 4, i17);
        }
      }
    }
    while (!paramaj.e());
    label663: paramaj.a(i2 - 1, (af)localObject2);
    paramaj.a(0, (af)localObject1);
    paramaj.a(1, localaf2);
    ah.d((af)localObject1, (af)localObject2, localaf3);
    ah.d(localaf2, (af)localObject1, localaf4);
    if (ah.c(localaf3, localaf4) > 0L);
    int i14;
    for (int i13 = 1; ; i13 = 0)
    {
      i14 = i3 + 5 * (i2 - 1);
      if (i13 == 0)
        break;
      paramd.a(i14 + 2, i3 + 1, i14 + 4);
      return;
    }
    paramd.a(i14 + 3, i14 + 4, i3);
  }
}

/* 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.bo.f
 * JD-Core Version:    0.6.2
 */