public final class okhttp3.internal.connection.RouteSelector
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: okhttp3.internal.connection.RouteSelector
  super_class: java.lang.Object
{
  private final okhttp3.Address address;
    descriptor: Lokhttp3/Address;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final okhttp3.internal.connection.RouteDatabase routeDatabase;
    descriptor: Lokhttp3/internal/connection/RouteDatabase;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final okhttp3.Call call;
    descriptor: Lokhttp3/Call;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final okhttp3.EventListener eventListener;
    descriptor: Lokhttp3/EventListener;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.List<java.net.Proxy> proxies;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/net/Proxy;>;

  private int nextProxyIndex;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<java.net.InetSocketAddress> inetSocketAddresses;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/net/InetSocketAddress;>;

  private final java.util.List<okhttp3.Route> postponedRoutes;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lokhttp3/Route;>;

  public void <init>(okhttp3.Address, okhttp3.internal.connection.RouteDatabase, okhttp3.Call, okhttp3.EventListener);
    descriptor: (Lokhttp3/Address;Lokhttp3/internal/connection/RouteDatabase;Lokhttp3/Call;Lokhttp3/EventListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // okhttp3.internal.connection.RouteSelector this
        start local 1 // okhttp3.Address address
        start local 2 // okhttp3.internal.connection.RouteDatabase routeDatabase
        start local 3 // okhttp3.Call call
        start local 4 // okhttp3.EventListener eventListener
         0: .line 56
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 47
            aload 0 /* this */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putfield okhttp3.internal.connection.RouteSelector.proxies:Ljava/util/List;
         2: .line 51
            aload 0 /* this */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putfield okhttp3.internal.connection.RouteSelector.inetSocketAddresses:Ljava/util/List;
         3: .line 54
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield okhttp3.internal.connection.RouteSelector.postponedRoutes:Ljava/util/List;
         4: .line 58
            aload 0 /* this */
            aload 1 /* address */
            putfield okhttp3.internal.connection.RouteSelector.address:Lokhttp3/Address;
         5: .line 59
            aload 0 /* this */
            aload 2 /* routeDatabase */
            putfield okhttp3.internal.connection.RouteSelector.routeDatabase:Lokhttp3/internal/connection/RouteDatabase;
         6: .line 60
            aload 0 /* this */
            aload 3 /* call */
            putfield okhttp3.internal.connection.RouteSelector.call:Lokhttp3/Call;
         7: .line 61
            aload 0 /* this */
            aload 4 /* eventListener */
            putfield okhttp3.internal.connection.RouteSelector.eventListener:Lokhttp3/EventListener;
         8: .line 63
            aload 0 /* this */
            aload 1 /* address */
            invokevirtual okhttp3.Address.url:()Lokhttp3/HttpUrl;
            aload 1 /* address */
            invokevirtual okhttp3.Address.proxy:()Ljava/net/Proxy;
            invokevirtual okhttp3.internal.connection.RouteSelector.resetNextProxy:(Lokhttp3/HttpUrl;Ljava/net/Proxy;)V
         9: .line 64
            return
        end local 4 // okhttp3.EventListener eventListener
        end local 3 // okhttp3.Call call
        end local 2 // okhttp3.internal.connection.RouteDatabase routeDatabase
        end local 1 // okhttp3.Address address
        end local 0 // okhttp3.internal.connection.RouteSelector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lokhttp3/internal/connection/RouteSelector;
            0   10     1        address  Lokhttp3/Address;
            0   10     2  routeDatabase  Lokhttp3/internal/connection/RouteDatabase;
            0   10     3           call  Lokhttp3/Call;
            0   10     4  eventListener  Lokhttp3/EventListener;
    MethodParameters:
               Name  Flags
      address        
      routeDatabase  
      call           
      eventListener  

  public boolean hasNext();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // okhttp3.internal.connection.RouteSelector this
         0: .line 70
            aload 0 /* this */
            invokevirtual okhttp3.internal.connection.RouteSelector.hasNextProxy:()Z
            ifne 1
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.postponedRoutes:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // okhttp3.internal.connection.RouteSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lokhttp3/internal/connection/RouteSelector;

  public okhttp3.internal.connection.RouteSelector$Selection next();
    descriptor: ()Lokhttp3/internal/connection/RouteSelector$Selection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // okhttp3.internal.connection.RouteSelector this
         0: .line 74
            aload 0 /* this */
            invokevirtual okhttp3.internal.connection.RouteSelector.hasNext:()Z
            ifne 2
         1: .line 75
            new java.util.NoSuchElementException
            dup
            invokespecial java.util.NoSuchElementException.<init>:()V
            athrow
         2: .line 79
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* routes */
        start local 1 // java.util.List routes
         3: .line 80
            goto 17
         4: .line 84
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            invokevirtual okhttp3.internal.connection.RouteSelector.nextProxy:()Ljava/net/Proxy;
            astore 2 /* proxy */
        start local 2 // java.net.Proxy proxy
         5: .line 85
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.inetSocketAddresses:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 4 /* size */
        start local 4 // int size
         7: goto 14
         8: .line 86
      StackMap locals: java.net.Proxy int int
      StackMap stack:
            new okhttp3.Route
            dup
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.address:Lokhttp3/Address;
            aload 2 /* proxy */
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.inetSocketAddresses:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.net.InetSocketAddress
            invokespecial okhttp3.Route.<init>:(Lokhttp3/Address;Ljava/net/Proxy;Ljava/net/InetSocketAddress;)V
            astore 5 /* route */
        start local 5 // okhttp3.Route route
         9: .line 87
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.routeDatabase:Lokhttp3/internal/connection/RouteDatabase;
            aload 5 /* route */
            invokevirtual okhttp3.internal.connection.RouteDatabase.shouldPostpone:(Lokhttp3/Route;)Z
            ifeq 12
        10: .line 88
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.postponedRoutes:Ljava/util/List;
            aload 5 /* route */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 89
            goto 13
        12: .line 90
      StackMap locals: okhttp3.Route
      StackMap stack:
            aload 1 /* routes */
            aload 5 /* route */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // okhttp3.Route route
        13: .line 85
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 3 /* i */
            iload 4 /* size */
            if_icmplt 8
        end local 4 // int size
        end local 3 // int i
        15: .line 94
            aload 1 /* routes */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 17
        16: .line 95
            goto 18
        end local 2 // java.net.Proxy proxy
        17: .line 80
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual okhttp3.internal.connection.RouteSelector.hasNextProxy:()Z
            ifne 4
        18: .line 99
      StackMap locals:
      StackMap stack:
            aload 1 /* routes */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 21
        19: .line 101
            aload 1 /* routes */
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.postponedRoutes:Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        20: .line 102
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.postponedRoutes:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
        21: .line 105
      StackMap locals:
      StackMap stack:
            new okhttp3.internal.connection.RouteSelector$Selection
            dup
            aload 1 /* routes */
            invokespecial okhttp3.internal.connection.RouteSelector$Selection.<init>:(Ljava/util/List;)V
            areturn
        end local 1 // java.util.List routes
        end local 0 // okhttp3.internal.connection.RouteSelector this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   22     0    this  Lokhttp3/internal/connection/RouteSelector;
            3   22     1  routes  Ljava/util/List<Lokhttp3/Route;>;
            5   17     2   proxy  Ljava/net/Proxy;
            6   15     3       i  I
            7   15     4    size  I
            9   13     5   route  Lokhttp3/Route;
    Exceptions:
      throws java.io.IOException

  public void connectFailed(okhttp3.Route, java.io.IOException);
    descriptor: (Lokhttp3/Route;Ljava/io/IOException;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // okhttp3.internal.connection.RouteSelector this
        start local 1 // okhttp3.Route failedRoute
        start local 2 // java.io.IOException failure
         0: .line 113
            aload 1 /* failedRoute */
            invokevirtual okhttp3.Route.proxy:()Ljava/net/Proxy;
            invokevirtual java.net.Proxy.type:()Ljava/net/Proxy$Type;
            getstatic java.net.Proxy$Type.DIRECT:Ljava/net/Proxy$Type;
            if_acmpeq 4
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.address:Lokhttp3/Address;
            invokevirtual okhttp3.Address.proxySelector:()Ljava/net/ProxySelector;
            ifnull 4
         1: .line 115
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.address:Lokhttp3/Address;
            invokevirtual okhttp3.Address.proxySelector:()Ljava/net/ProxySelector;
         2: .line 116
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.address:Lokhttp3/Address;
            invokevirtual okhttp3.Address.url:()Lokhttp3/HttpUrl;
            invokevirtual okhttp3.HttpUrl.uri:()Ljava/net/URI;
            aload 1 /* failedRoute */
            invokevirtual okhttp3.Route.proxy:()Ljava/net/Proxy;
            invokevirtual java.net.Proxy.address:()Ljava/net/SocketAddress;
            aload 2 /* failure */
         3: .line 115
            invokevirtual java.net.ProxySelector.connectFailed:(Ljava/net/URI;Ljava/net/SocketAddress;Ljava/io/IOException;)V
         4: .line 119
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.routeDatabase:Lokhttp3/internal/connection/RouteDatabase;
            aload 1 /* failedRoute */
            invokevirtual okhttp3.internal.connection.RouteDatabase.failed:(Lokhttp3/Route;)V
         5: .line 120
            return
        end local 2 // java.io.IOException failure
        end local 1 // okhttp3.Route failedRoute
        end local 0 // okhttp3.internal.connection.RouteSelector this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lokhttp3/internal/connection/RouteSelector;
            0    6     1  failedRoute  Lokhttp3/Route;
            0    6     2      failure  Ljava/io/IOException;
    MethodParameters:
             Name  Flags
      failedRoute  
      failure      

  private void resetNextProxy(okhttp3.HttpUrl, java.net.Proxy);
    descriptor: (Lokhttp3/HttpUrl;Ljava/net/Proxy;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // okhttp3.internal.connection.RouteSelector this
        start local 1 // okhttp3.HttpUrl url
        start local 2 // java.net.Proxy proxy
         0: .line 124
            aload 2 /* proxy */
            ifnull 3
         1: .line 126
            aload 0 /* this */
            aload 2 /* proxy */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            putfield okhttp3.internal.connection.RouteSelector.proxies:Ljava/util/List;
         2: .line 127
            goto 9
         3: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.address:Lokhttp3/Address;
            invokevirtual okhttp3.Address.proxySelector:()Ljava/net/ProxySelector;
            aload 1 /* url */
            invokevirtual okhttp3.HttpUrl.uri:()Ljava/net/URI;
            invokevirtual java.net.ProxySelector.select:(Ljava/net/URI;)Ljava/util/List;
            astore 3 /* proxiesOrNull */
        start local 3 // java.util.List proxiesOrNull
         4: .line 130
            aload 0 /* this */
            aload 3 /* proxiesOrNull */
            ifnull 6
            aload 3 /* proxiesOrNull */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 6
         5: .line 131
            aload 3 /* proxiesOrNull */
            invokestatic okhttp3.internal.Util.immutableList:(Ljava/util/List;)Ljava/util/List;
            goto 8
      StackMap locals: okhttp3.internal.connection.RouteSelector okhttp3.HttpUrl java.net.Proxy java.util.List
      StackMap stack: okhttp3.internal.connection.RouteSelector
         6: iconst_1
            anewarray java.net.Proxy
            dup
            iconst_0
         7: .line 132
            getstatic java.net.Proxy.NO_PROXY:Ljava/net/Proxy;
            aastore
            invokestatic okhttp3.internal.Util.immutableList:([Ljava/lang/Object;)Ljava/util/List;
         8: .line 130
      StackMap locals: okhttp3.internal.connection.RouteSelector okhttp3.HttpUrl java.net.Proxy java.util.List
      StackMap stack: okhttp3.internal.connection.RouteSelector java.util.List
            putfield okhttp3.internal.connection.RouteSelector.proxies:Ljava/util/List;
        end local 3 // java.util.List proxiesOrNull
         9: .line 134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield okhttp3.internal.connection.RouteSelector.nextProxyIndex:I
        10: .line 135
            return
        end local 2 // java.net.Proxy proxy
        end local 1 // okhttp3.HttpUrl url
        end local 0 // okhttp3.internal.connection.RouteSelector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lokhttp3/internal/connection/RouteSelector;
            0   11     1            url  Lokhttp3/HttpUrl;
            0   11     2          proxy  Ljava/net/Proxy;
            4    9     3  proxiesOrNull  Ljava/util/List<Ljava/net/Proxy;>;
    MethodParameters:
       Name  Flags
      url    
      proxy  

  private boolean hasNextProxy();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // okhttp3.internal.connection.RouteSelector this
         0: .line 139
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.nextProxyIndex:I
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.proxies:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // okhttp3.internal.connection.RouteSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lokhttp3/internal/connection/RouteSelector;

  private java.net.Proxy nextProxy();
    descriptor: ()Ljava/net/Proxy;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // okhttp3.internal.connection.RouteSelector this
         0: .line 144
            aload 0 /* this */
            invokevirtual okhttp3.internal.connection.RouteSelector.hasNextProxy:()Z
            ifne 4
         1: .line 145
            new java.net.SocketException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No route to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.address:Lokhttp3/Address;
            invokevirtual okhttp3.Address.url:()Lokhttp3/HttpUrl;
            invokevirtual okhttp3.HttpUrl.host:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 146
            ldc "; exhausted proxy configurations: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.proxies:Ljava/util/List;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 145
            invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.proxies:Ljava/util/List;
            aload 0 /* this */
            dup
            getfield okhttp3.internal.connection.RouteSelector.nextProxyIndex:I
            dup_x1
            iconst_1
            iadd
            putfield okhttp3.internal.connection.RouteSelector.nextProxyIndex:I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.net.Proxy
            astore 1 /* result */
        start local 1 // java.net.Proxy result
         5: .line 149
            aload 0 /* this */
            aload 1 /* result */
            invokevirtual okhttp3.internal.connection.RouteSelector.resetNextInetSocketAddress:(Ljava/net/Proxy;)V
         6: .line 150
            aload 1 /* result */
            areturn
        end local 1 // java.net.Proxy result
        end local 0 // okhttp3.internal.connection.RouteSelector this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lokhttp3/internal/connection/RouteSelector;
            5    7     1  result  Ljava/net/Proxy;
    Exceptions:
      throws java.io.IOException

  private void resetNextInetSocketAddress(java.net.Proxy);
    descriptor: (Ljava/net/Proxy;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // okhttp3.internal.connection.RouteSelector this
        start local 1 // java.net.Proxy proxy
         0: .line 156
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield okhttp3.internal.connection.RouteSelector.inetSocketAddresses:Ljava/util/List;
         1: .line 160
            aload 1 /* proxy */
            invokevirtual java.net.Proxy.type:()Ljava/net/Proxy$Type;
            getstatic java.net.Proxy$Type.DIRECT:Ljava/net/Proxy$Type;
            if_acmpeq 2
            aload 1 /* proxy */
            invokevirtual java.net.Proxy.type:()Ljava/net/Proxy$Type;
            getstatic java.net.Proxy$Type.SOCKS:Ljava/net/Proxy$Type;
            if_acmpne 5
         2: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.address:Lokhttp3/Address;
            invokevirtual okhttp3.Address.url:()Lokhttp3/HttpUrl;
            invokevirtual okhttp3.HttpUrl.host:()Ljava/lang/String;
            astore 2 /* socketHost */
        start local 2 // java.lang.String socketHost
         3: .line 162
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.address:Lokhttp3/Address;
            invokevirtual okhttp3.Address.url:()Lokhttp3/HttpUrl;
            invokevirtual okhttp3.HttpUrl.port:()I
            istore 3 /* socketPort */
        start local 3 // int socketPort
         4: .line 163
            goto 13
        end local 3 // int socketPort
        end local 2 // java.lang.String socketHost
         5: .line 164
      StackMap locals:
      StackMap stack:
            aload 1 /* proxy */
            invokevirtual java.net.Proxy.address:()Ljava/net/SocketAddress;
            astore 4 /* proxyAddress */
        start local 4 // java.net.SocketAddress proxyAddress
         6: .line 165
            aload 4 /* proxyAddress */
            instanceof java.net.InetSocketAddress
            ifne 10
         7: .line 166
            new java.lang.IllegalArgumentException
            dup
         8: .line 167
            new java.lang.StringBuilder
            dup
            ldc "Proxy.address() is not an InetSocketAddress: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* proxyAddress */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 166
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 169
      StackMap locals: okhttp3.internal.connection.RouteSelector java.net.Proxy top top java.net.SocketAddress
      StackMap stack:
            aload 4 /* proxyAddress */
            checkcast java.net.InetSocketAddress
            astore 5 /* proxySocketAddress */
        start local 5 // java.net.InetSocketAddress proxySocketAddress
        11: .line 170
            aload 5 /* proxySocketAddress */
            invokestatic okhttp3.internal.connection.RouteSelector.getHostString:(Ljava/net/InetSocketAddress;)Ljava/lang/String;
            astore 2 /* socketHost */
        start local 2 // java.lang.String socketHost
        12: .line 171
            aload 5 /* proxySocketAddress */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            istore 3 /* socketPort */
        end local 5 // java.net.InetSocketAddress proxySocketAddress
        end local 4 // java.net.SocketAddress proxyAddress
        start local 3 // int socketPort
        13: .line 174
      StackMap locals: okhttp3.internal.connection.RouteSelector java.net.Proxy java.lang.String int
      StackMap stack:
            iload 3 /* socketPort */
            iconst_1
            if_icmplt 14
            iload 3 /* socketPort */
            ldc 65535
            if_icmple 17
        14: .line 175
      StackMap locals:
      StackMap stack:
            new java.net.SocketException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No route to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* socketHost */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* socketPort */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        15: .line 176
            ldc "; port is out of range"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 175
            invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 179
      StackMap locals:
      StackMap stack:
            aload 1 /* proxy */
            invokevirtual java.net.Proxy.type:()Ljava/net/Proxy$Type;
            getstatic java.net.Proxy$Type.SOCKS:Ljava/net/Proxy$Type;
            if_acmpne 20
        18: .line 180
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.inetSocketAddresses:Ljava/util/List;
            aload 2 /* socketHost */
            iload 3 /* socketPort */
            invokestatic java.net.InetSocketAddress.createUnresolved:(Ljava/lang/String;I)Ljava/net/InetSocketAddress;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        19: .line 181
            goto 32
        20: .line 182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.eventListener:Lokhttp3/EventListener;
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.call:Lokhttp3/Call;
            aload 2 /* socketHost */
            invokevirtual okhttp3.EventListener.dnsStart:(Lokhttp3/Call;Ljava/lang/String;)V
        21: .line 185
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.address:Lokhttp3/Address;
            invokevirtual okhttp3.Address.dns:()Lokhttp3/Dns;
            aload 2 /* socketHost */
            invokeinterface okhttp3.Dns.lookup:(Ljava/lang/String;)Ljava/util/List;
            astore 4 /* addresses */
        start local 4 // java.util.List addresses
        22: .line 186
            aload 4 /* addresses */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 24
        23: .line 187
            new java.net.UnknownHostException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.address:Lokhttp3/Address;
            invokevirtual okhttp3.Address.dns:()Lokhttp3/Dns;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " returned no addresses for "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* socketHost */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.net.UnknownHostException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 190
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.eventListener:Lokhttp3/EventListener;
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.call:Lokhttp3/Call;
            aload 2 /* socketHost */
            aload 4 /* addresses */
            invokevirtual okhttp3.EventListener.dnsEnd:(Lokhttp3/Call;Ljava/lang/String;Ljava/util/List;)V
        25: .line 192
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        26: aload 4 /* addresses */
            invokeinterface java.util.List.size:()I
            istore 6 /* size */
        start local 6 // int size
        27: goto 31
        28: .line 193
      StackMap locals: int int
      StackMap stack:
            aload 4 /* addresses */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.net.InetAddress
            astore 7 /* inetAddress */
        start local 7 // java.net.InetAddress inetAddress
        29: .line 194
            aload 0 /* this */
            getfield okhttp3.internal.connection.RouteSelector.inetSocketAddresses:Ljava/util/List;
            new java.net.InetSocketAddress
            dup
            aload 7 /* inetAddress */
            iload 3 /* socketPort */
            invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.net.InetAddress inetAddress
        30: .line 192
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 5 /* i */
            iload 6 /* size */
            if_icmplt 28
        end local 6 // int size
        end local 5 // int i
        end local 4 // java.util.List addresses
        32: .line 197
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int socketPort
        end local 2 // java.lang.String socketHost
        end local 1 // java.net.Proxy proxy
        end local 0 // okhttp3.internal.connection.RouteSelector this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   33     0                this  Lokhttp3/internal/connection/RouteSelector;
            0   33     1               proxy  Ljava/net/Proxy;
            3    5     2          socketHost  Ljava/lang/String;
           12   33     2          socketHost  Ljava/lang/String;
            4    5     3          socketPort  I
           13   33     3          socketPort  I
            6   13     4        proxyAddress  Ljava/net/SocketAddress;
           11   13     5  proxySocketAddress  Ljava/net/InetSocketAddress;
           22   32     4           addresses  Ljava/util/List<Ljava/net/InetAddress;>;
           26   32     5                   i  I
           27   32     6                size  I
           29   30     7         inetAddress  Ljava/net/InetAddress;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      proxy  

  static java.lang.String getHostString(java.net.InetSocketAddress);
    descriptor: (Ljava/net/InetSocketAddress;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.net.InetSocketAddress socketAddress
         0: .line 205
            aload 0 /* socketAddress */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            astore 1 /* address */
        start local 1 // java.net.InetAddress address
         1: .line 206
            aload 1 /* address */
            ifnonnull 3
         2: .line 210
            aload 0 /* socketAddress */
            invokevirtual java.net.InetSocketAddress.getHostName:()Ljava/lang/String;
            areturn
         3: .line 214
      StackMap locals: java.net.InetAddress
      StackMap stack:
            aload 1 /* address */
            invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
            areturn
        end local 1 // java.net.InetAddress address
        end local 0 // java.net.InetSocketAddress socketAddress
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0  socketAddress  Ljava/net/InetSocketAddress;
            1    4     1        address  Ljava/net/InetAddress;
    MethodParameters:
               Name  Flags
      socketAddress  
}
SourceFile: "RouteSelector.java"
NestMembers:
  okhttp3.internal.connection.RouteSelector$Selection
InnerClasses:
  public final Type = java.net.Proxy$Type of java.net.Proxy
  public final Selection = okhttp3.internal.connection.RouteSelector$Selection of okhttp3.internal.connection.RouteSelector