package com.google.android.m4b.maps.bc;

import com.google.android.m4b.maps.aq.g;
import com.google.android.m4b.maps.bk.e.a;
import java.io.DataInput;
import java.io.IOException;
import java.util.Iterator;
import java.util.zip.DataFormatException;

public class bo
  implements j
{
  private final ba a;
  private final int b;
  private final byte c;
  private final k[] d;
  private final long e;
  private final String[] f;
  private final String[] g;
  private final int h;
  private final bg i;
  private final bn[] j;
  private final int k;
  private long l;

  protected bo(aw paramaw, String[] paramArrayOfString1, ba paramba, int paramInt1, byte paramByte, int paramInt2, String[] paramArrayOfString2, String[] paramArrayOfString3, int paramInt3, k[] paramArrayOfk, bg parambg, bn[] paramArrayOfbn, long paramLong1, long paramLong2)
  {
    this.a = paramba;
    this.b = paramInt1;
    this.c = paramByte;
    this.f = paramArrayOfString2;
    this.g = paramArrayOfString3;
    this.h = paramInt3;
    this.d = paramArrayOfk;
    this.i = parambg;
    this.j = paramArrayOfbn;
    this.k = paramInt2;
    this.e = paramLong1;
    this.l = paramLong2;
  }

  private static bo a(ba paramba, DataInput paramDataInput, int paramInt1, byte paramByte, int paramInt2, int paramInt3, bg parambg, long paramLong1, long paramLong2)
  {
    a(paramDataInput);
    ba localba = ba.a(paramDataInput);
    if ((localba.c() != paramba.c()) || (localba.d() != paramba.d()) || (localba.b() != paramba.b()))
      throw new IOException("Expected tile coords: " + paramba + " but received " + localba);
    int m = paramDataInput.readUnsignedByte();
    if (m > 0)
      m += 2000;
    int n = bl.a(paramDataInput);
    String[] arrayOfString1 = new String[n];
    for (int i1 = 0; i1 < n; i1++)
      arrayOfString1[i1] = paramDataInput.readUTF().intern();
    int i2 = bl.a(paramDataInput);
    String[] arrayOfString2 = new String[i2];
    for (int i3 = 0; i3 < i2; i3++)
      arrayOfString2[i3] = paramDataInput.readUTF().intern();
    if (paramInt1 == 11)
    {
      int i10 = bl.a(paramDataInput);
      for (int i11 = 0; i11 < i10; i11++)
        paramDataInput.readUTF();
    }
    aw localaw = aw.a(paramDataInput, paramInt1);
    au localau;
    bc localbc;
    k[] arrayOfk;
    if (paramInt1 == 11)
    {
      arrayOfString3 = new String[0];
      localau = au.a(paramDataInput, localaw);
      localbc = new bc(paramInt1, paramba, localaw, arrayOfString3, localau);
      int i4 = bl.a(paramDataInput);
      arrayOfk = new k[i4];
      for (int i5 = 0; i5 < i4; i5++)
        arrayOfk[i5] = a(paramDataInput, localbc);
    }
    int i8 = bl.a(paramDataInput);
    String[] arrayOfString3 = new String[i8];
    for (int i9 = 0; ; i9++)
    {
      localau = null;
      if (i9 >= i8)
        break;
      arrayOfString3[i9] = paramDataInput.readUTF().intern();
    }
    int i6 = bl.a(paramDataInput);
    bn[] arrayOfbn = new bn[i6];
    for (int i7 = 0; i7 < i6; i7++)
      arrayOfbn[i7] = bn.a(paramDataInput, localbc);
    return new bo(localaw, arrayOfString3, paramba, paramInt2, paramByte, paramInt3, arrayOfString1, arrayOfString2, m, arrayOfk, parambg, arrayOfbn, paramLong1, paramLong2);
  }

  public static bo a(ba paramba, byte[] paramArrayOfByte, int paramInt, bg parambg, long paramLong1, long paramLong2)
  {
    com.google.android.m4b.maps.ad.a locala1 = new com.google.android.m4b.maps.ad.a(paramArrayOfByte);
    locala1.skipBytes(paramInt);
    int m = locala1.readInt();
    int n = locala1.readInt();
    a(locala1);
    int i1 = locala1.readUnsignedShort();
    if ((i1 != 10) && (i1 != 11))
      throw new IOException("Version mismatch: 10 or 11 expected, " + i1 + " found");
    int i2 = locala1.readInt();
    long l1 = locala1.readLong();
    int i3 = locala1.readUnsignedByte();
    long[] arrayOfLong = new long[6];
    arrayOfLong[0] = m;
    arrayOfLong[1] = n;
    arrayOfLong[2] = i1;
    arrayOfLong[3] = i2;
    arrayOfLong[4] = l1;
    arrayOfLong[5] = i3;
    int i4 = (int)arrayOfLong[0];
    int i5 = (int)arrayOfLong[1];
    int i6 = (int)arrayOfLong[2];
    int i7 = (int)arrayOfLong[3];
    long l2 = arrayOfLong[4];
    byte b1 = (byte)(int)arrayOfLong[5];
    int i8 = paramInt + 27;
    int i9 = paramArrayOfByte.length - i8;
    com.google.android.m4b.maps.be.i locali = new com.google.android.m4b.maps.be.i();
    byte[] arrayOfByte1 = new byte[40];
    com.google.android.m4b.maps.be.i.a(paramba.c(), paramba.d(), paramba.b(), i6, i7, l2, arrayOfByte1);
    locali.a(arrayOfByte1, 256);
    locali.a(paramArrayOfByte, i8, i9);
    byte[] arrayOfByte2;
    bo localbo;
    try
    {
      e.a locala = com.google.android.m4b.maps.bk.e.a(paramArrayOfByte, i8, i9);
      arrayOfByte2 = locala.a();
      int i10 = locala.b();
      com.google.android.m4b.maps.ad.a locala2 = new com.google.android.m4b.maps.ad.a(arrayOfByte2);
      localbo = a(paramba, locala2, i6, b1, i4, i5, parambg, paramLong1, paramLong2);
      if (locala2.a() != i10)
        throw new IOException("Byte stream not fully read for: " + localbo.a);
    }
    catch (DataFormatException localDataFormatException)
    {
      throw new IOException(localDataFormatException.getMessage());
    }
    com.google.android.m4b.maps.bk.j.a(arrayOfByte2);
    return localbo;
  }

  static k a(DataInput paramDataInput, bc parambc)
  {
    int m = 0;
    int n = bl.a(paramDataInput);
    int i18;
    if (parambc.a() == 11)
    {
      i18 = bl.a(paramDataInput);
      paramDataInput.skipBytes(bl.a(paramDataInput));
    }
    for (an localan = new an(i18); ; localan = new an(-1))
      switch (n)
      {
      case 10:
      default:
        throw new IOException("Unknown feature type: " + n);
      case 1:
      case 2:
      case 3:
      case 4:
      case 5:
      case 6:
      case 7:
      case 8:
      case 9:
      case 11:
      }
    if (parambc.a() == 10)
    {
      int i17 = bl.a(paramDataInput);
      while (m < i17)
      {
        bl.a(paramDataInput);
        m++;
      }
    }
    return new i(localan.a(), as.a());
    aj localaj2 = aj.a(paramDataInput, parambc.b());
    av localav3 = av.a(paramDataInput, parambc);
    int i10 = bl.a(paramDataInput);
    s[] arrayOfs = new s[i10];
    for (int i11 = 0; i11 < i10; i11++)
      arrayOfs[i11] = s.a(paramDataInput, parambc, localav3);
    int i12 = bl.a(paramDataInput);
    int i13 = paramDataInput.readByte();
    int i14 = paramDataInput.readInt();
    Object localObject2;
    if (ac.a(1, i14))
      localObject2 = com.google.android.m4b.maps.aj.a.a(paramDataInput);
    int i15;
    int[] arrayOfInt4;
    while (true)
    {
      i15 = i14 >>> 2;
      int i16 = bl.a(paramDataInput);
      arrayOfInt4 = new int[i16];
      while (m < i16)
      {
        arrayOfInt4[m] = bl.a(paramDataInput);
        m++;
      }
      boolean bool2 = ac.a(2, i14);
      localObject2 = null;
      if (bool2)
        localObject2 = com.google.android.m4b.maps.aj.a.b(paramDataInput);
    }
    return new ao(localan.a(), (com.google.android.m4b.maps.aj.a)localObject2, localaj2, arrayOfs, localav3.a(), localav3.c(), localav3.b(), i12, i13, i15, arrayOfInt4);
    bj localbj = bj.a(paramDataInput, parambc.b());
    byte[] arrayOfByte2 = new byte[localbj.a()];
    paramDataInput.readFully(arrayOfByte2);
    av localav2 = av.a(paramDataInput, parambc);
    int i7 = paramDataInput.readByte();
    int i8 = paramDataInput.readInt();
    Object localObject1;
    if (ac.a(1, i8))
      localObject1 = com.google.android.m4b.maps.aj.a.a(paramDataInput);
    int[] arrayOfInt3;
    while (true)
    {
      int i9 = bl.a(paramDataInput);
      arrayOfInt3 = new int[i9];
      while (m < i9)
      {
        arrayOfInt3[m] = bl.a(paramDataInput);
        m++;
      }
      boolean bool1 = ac.a(2, i8);
      localObject1 = null;
      if (bool1)
        localObject1 = com.google.android.m4b.maps.aj.a.b(paramDataInput);
    }
    return new d(localan.a(), (com.google.android.m4b.maps.aj.a)localObject1, localbj, arrayOfByte2, localav2.a(), localav2.c(), localav2.b(), i7, i8, arrayOfInt3);
    return e.a(paramDataInput, parambc, localan);
    aj localaj1 = aj.a(paramDataInput, parambc.b());
    av localav1 = av.a(paramDataInput, parambc);
    int i4 = paramDataInput.readByte();
    int i5 = paramDataInput.readInt();
    int i6 = bl.a(paramDataInput);
    int[] arrayOfInt2 = new int[i6];
    while (m < i6)
    {
      arrayOfInt2[m] = bl.a(paramDataInput);
      m++;
    }
    return new w(localan.a(), localaj1, localav1.a(), localav1.c(), localav1.b(), i4, i5, arrayOfInt2);
    int i1 = bl.a(paramDataInput);
    byte[] arrayOfByte1 = new byte[paramDataInput.readInt()];
    paramDataInput.readFully(arrayOfByte1);
    int i2 = paramDataInput.readByte();
    int i3 = bl.a(paramDataInput);
    int[] arrayOfInt1 = new int[i3];
    while (m < i3)
    {
      arrayOfInt1[m] = bl.a(paramDataInput);
      m++;
    }
    return new ak(localan.a(), i1, arrayOfByte1, i2, as.a(), arrayOfInt1);
    return ag.a(paramDataInput, parambc, localan);
    return u.a(paramDataInput, parambc, localan);
    return bh.a(paramDataInput, parambc, localan);
    return v.b(paramDataInput, parambc, localan);
  }

  private static void a(DataInput paramDataInput)
  {
    int m = paramDataInput.readInt();
    if (m != 1146241364)
      throw new IOException("TILE_MAGIC expected. Found: " + m);
  }

  public static boolean a(az paramaz)
  {
    return ((paramaz.h() == bg.q) && (((bo)paramaz).p() == 0)) || ((paramaz instanceof aa));
  }

  private boolean l()
  {
    return (0x2 & this.c) != 0;
  }

  public static int q()
  {
    if (r() == -1L)
      return -1;
    return (int)(r() / 3600000L);
  }

  private static long r()
  {
    com.google.android.m4b.maps.al.b.a();
    if ((com.google.android.m4b.maps.al.b.f()) && (g.c() != null))
      return g.c().a();
    return -1L;
  }

  public long a()
  {
    return this.e;
  }

  public k a(int paramInt)
  {
    return this.d[paramInt];
  }

  public boolean a(com.google.android.m4b.maps.z.b paramb)
  {
    return (this.e >= 0L) && (paramb.b() > this.e);
  }

  public final long b()
  {
    return this.l;
  }

  public final bn b(int paramInt)
  {
    if (this.j != null)
      return this.j[paramInt];
    return null;
  }

  public final boolean b(com.google.android.m4b.maps.z.b paramb)
  {
    return (this.l >= 0L) && (paramb.b() > this.l);
  }

  public final void c(com.google.android.m4b.maps.z.b paramb)
  {
    if (r() > 0L)
    {
      this.l = (paramb.b() + r());
      return;
    }
    this.l = -1L;
  }

  public String[] c()
  {
    return this.f;
  }

  public final ba d()
  {
    return this.a;
  }

  public final int e()
  {
    return this.b;
  }

  public String[] f()
  {
    return this.g;
  }

  public int g()
  {
    return this.d.length;
  }

  public final bg h()
  {
    return this.i;
  }

  public final int i()
  {
    return this.k;
  }

  public final boolean j()
  {
    if ((g.c() == null) || (g.c().c()))
      if ((0x1 & this.c) != 0)
      {
        m = 1;
        if ((m == 0) && (l()))
          break label44;
      }
    label44: 
    while (!l())
    {
      while (true)
      {
        return true;
        int m = 0;
      }
      return false;
    }
    return false;
  }

  public b k()
  {
    return new c((byte)0);
  }

  public final byte m()
  {
    return this.c;
  }

  public final int n()
  {
    return this.h;
  }

  protected final k[] o()
  {
    return this.d;
  }

  public final int p()
  {
    if (this.j != null)
      return this.j.length;
    return 0;
  }

  public static final class a
  {
    private ba a;
    private int b;
    private int c = -1;
    private k[] d;
    private aw e;
    private long f = -1L;
    private String[] g;
    private String[] h;
    private int i = -1;
    private bg j = bg.a;
    private long k = -1L;

    public final a a(int paramInt)
    {
      this.c = paramInt;
      return this;
    }

    public final a a(long paramLong)
    {
      this.f = paramLong;
      return this;
    }

    public final a a(aw paramaw)
    {
      this.e = paramaw;
      return this;
    }

    public final a a(ba paramba)
    {
      this.a = paramba;
      return this;
    }

    public final a a(bg parambg)
    {
      this.j = parambg;
      return this;
    }

    public final a a(k[] paramArrayOfk)
    {
      this.d = paramArrayOfk;
      return this;
    }

    public final a a(String[] paramArrayOfString)
    {
      this.g = paramArrayOfString;
      return this;
    }

    public final bo a()
    {
      aw localaw = this.e;
      ba localba = this.a;
      int m = this.b;
      int n = this.c;
      String[] arrayOfString1;
      String[] arrayOfString2;
      label47: int i1;
      if (this.g == null)
      {
        arrayOfString1 = new String[0];
        if (this.h != null)
          break label111;
        arrayOfString2 = new String[0];
        i1 = this.i;
        if (this.d != null)
          break label120;
      }
      label111: label120: for (k[] arrayOfk = new k[0]; ; arrayOfk = this.d)
      {
        return new bo(localaw, null, localba, m, (byte)0, n, arrayOfString1, arrayOfString2, i1, arrayOfk, this.j, null, this.f, this.k);
        arrayOfString1 = this.g;
        break;
        arrayOfString2 = this.h;
        break label47;
      }
    }

    public final a b(int paramInt)
    {
      this.b = paramInt;
      return this;
    }

    public final a b(long paramLong)
    {
      this.k = paramLong;
      return this;
    }

    public final a b(String[] paramArrayOfString)
    {
      this.h = paramArrayOfString;
      return this;
    }

    public final a c(int paramInt)
    {
      this.i = paramInt;
      return this;
    }
  }

  public static abstract interface b extends Iterator<k>
  {
    public abstract k a();

    public abstract void b();

    public abstract void c();
  }

  final class c
    implements bo.b
  {
    private int a = 0;
    private int b = 0;

    private c()
    {
    }

    public final k a()
    {
      return bo.a(bo.this)[this.a];
    }

    public final void b()
    {
      this.b = this.a;
    }

    public final void c()
    {
      this.a = this.b;
    }

    public final boolean hasNext()
    {
      return this.a < bo.a(bo.this).length;
    }

    public final void remove()
    {
      throw new UnsupportedOperationException("remove() not supported");
    }
  }
}

/* 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.bo
 * JD-Core Version:    0.6.2
 */