public class android.net.VpnService$Builder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.net.VpnService$Builder
  super_class: java.lang.Object
{
  private final com.android.internal.net.VpnConfig mConfig;
    descriptor: Lcom/android/internal/net/VpnConfig;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<android.net.LinkAddress> mAddresses;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Landroid/net/LinkAddress;>;

  private final java.util.List<android.net.RouteInfo> mRoutes;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Landroid/net/RouteInfo;>;

  final android.net.VpnService this$0;
    descriptor: Landroid/net/VpnService;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(android.net.VpnService);
    descriptor: (Landroid/net/VpnService;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.net.VpnService$Builder this
         0: .line 446
            aload 0 /* this */
            aload 1
            putfield android.net.VpnService$Builder.this$0:Landroid/net/VpnService;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 442
            aload 0 /* this */
            new com.android.internal.net.VpnConfig
            dup
            invokespecial com.android.internal.net.VpnConfig.<init>:()V
            putfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
         2: .line 443
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield android.net.VpnService$Builder.mAddresses:Ljava/util/List;
         3: .line 444
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield android.net.VpnService$Builder.mRoutes:Ljava/util/List;
         4: .line 447
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            aload 1
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            putfield com.android.internal.net.VpnConfig.user:Ljava/lang/String;
         5: .line 448
            return
        end local 0 // android.net.VpnService$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Landroid/net/VpnService$Builder;
    MethodParameters:
        Name  Flags
      this$0  final

  public android.net.VpnService$Builder setSession(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/net/VpnService$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.net.VpnService$Builder this
        start local 1 // java.lang.String session
         0: .line 456
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            aload 1 /* session */
            putfield com.android.internal.net.VpnConfig.session:Ljava/lang/String;
         1: .line 457
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String session
        end local 0 // android.net.VpnService$Builder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Landroid/net/VpnService$Builder;
            0    2     1  session  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      session  

  public android.net.VpnService$Builder setConfigureIntent(android.app.PendingIntent);
    descriptor: (Landroid/app/PendingIntent;)Landroid/net/VpnService$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.net.VpnService$Builder this
        start local 1 // android.app.PendingIntent intent
         0: .line 466
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            aload 1 /* intent */
            putfield com.android.internal.net.VpnConfig.configureIntent:Landroid/app/PendingIntent;
         1: .line 467
            aload 0 /* this */
            areturn
        end local 1 // android.app.PendingIntent intent
        end local 0 // android.net.VpnService$Builder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Landroid/net/VpnService$Builder;
            0    2     1  intent  Landroid/app/PendingIntent;
    MethodParameters:
        Name  Flags
      intent  

  public android.net.VpnService$Builder setMtu(int);
    descriptor: (I)Landroid/net/VpnService$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.net.VpnService$Builder this
        start local 1 // int mtu
         0: .line 478
            iload 1 /* mtu */
            ifgt 2
         1: .line 479
            new java.lang.IllegalArgumentException
            dup
            ldc "Bad mtu"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 481
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            iload 1 /* mtu */
            putfield com.android.internal.net.VpnConfig.mtu:I
         3: .line 482
            aload 0 /* this */
            areturn
        end local 1 // int mtu
        end local 0 // android.net.VpnService$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Landroid/net/VpnService$Builder;
            0    4     1   mtu  I
    MethodParameters:
      Name  Flags
      mtu   

  public android.net.VpnService$Builder addAddress(java.net.InetAddress, int);
    descriptor: (Ljava/net/InetAddress;I)Landroid/net/VpnService$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // android.net.VpnService$Builder this
        start local 1 // java.net.InetAddress address
        start local 2 // int prefixLength
         0: .line 496
            aload 1 /* address */
            iload 2 /* prefixLength */
            invokestatic android.net.VpnService.check:(Ljava/net/InetAddress;I)V
         1: .line 498
            aload 1 /* address */
            invokevirtual java.net.InetAddress.isAnyLocalAddress:()Z
            ifeq 3
         2: .line 499
            new java.lang.IllegalArgumentException
            dup
            ldc "Bad address"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 501
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mAddresses:Ljava/util/List;
            new android.net.LinkAddress
            dup
            aload 1 /* address */
            iload 2 /* prefixLength */
            invokespecial android.net.LinkAddress.<init>:(Ljava/net/InetAddress;I)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 502
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            aload 1 /* address */
            invokevirtual com.android.internal.net.VpnConfig.updateAllowedFamilies:(Ljava/net/InetAddress;)V
         5: .line 503
            aload 0 /* this */
            areturn
        end local 2 // int prefixLength
        end local 1 // java.net.InetAddress address
        end local 0 // android.net.VpnService$Builder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Landroid/net/VpnService$Builder;
            0    6     1       address  Ljava/net/InetAddress;
            0    6     2  prefixLength  I
    MethodParameters:
              Name  Flags
      address       
      prefixLength  

  public android.net.VpnService$Builder addAddress(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Landroid/net/VpnService$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.net.VpnService$Builder this
         0: .line 518
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tThe method parseNumericAddress(String) is undefined for the type InetAddress\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.net.VpnService$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/VpnService$Builder;
    MethodParameters:
              Name  Flags
      address       
      prefixLength  

  public android.net.VpnService$Builder addRoute(java.net.InetAddress, int);
    descriptor: (Ljava/net/InetAddress;I)Landroid/net/VpnService$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // android.net.VpnService$Builder this
        start local 1 // java.net.InetAddress address
        start local 2 // int prefixLength
         0: .line 531
            aload 1 /* address */
            iload 2 /* prefixLength */
            invokestatic android.net.VpnService.check:(Ljava/net/InetAddress;I)V
         1: .line 533
            iload 2 /* prefixLength */
            bipush 8
            idiv
            istore 3 /* offset */
        start local 3 // int offset
         2: .line 534
            aload 1 /* address */
            invokevirtual java.net.InetAddress.getAddress:()[B
            astore 4 /* bytes */
        start local 4 // byte[] bytes
         3: .line 535
            iload 3 /* offset */
            aload 4 /* bytes */
            arraylength
            if_icmpge 9
         4: .line 536
            aload 4 /* bytes */
            iload 3 /* offset */
            dup2
            baload
            iload 2 /* prefixLength */
            bipush 8
            irem
            ishl
            i2b
            bastore
            goto 8
         5: .line 537
      StackMap locals: int byte[]
      StackMap stack:
            aload 4 /* bytes */
            iload 3 /* offset */
            baload
            ifeq 7
         6: .line 538
            new java.lang.IllegalArgumentException
            dup
            ldc "Bad address"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 536
      StackMap locals:
      StackMap stack:
            iinc 3 /* offset */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* offset */
            aload 4 /* bytes */
            arraylength
            if_icmplt 5
         9: .line 542
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mRoutes:Ljava/util/List;
            new android.net.RouteInfo
            dup
            new android.net.IpPrefix
            dup
            aload 1 /* address */
            iload 2 /* prefixLength */
            invokespecial android.net.IpPrefix.<init>:(Ljava/net/InetAddress;I)V
            aconst_null
            invokespecial android.net.RouteInfo.<init>:(Landroid/net/IpPrefix;Ljava/net/InetAddress;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 543
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            aload 1 /* address */
            invokevirtual com.android.internal.net.VpnConfig.updateAllowedFamilies:(Ljava/net/InetAddress;)V
        11: .line 544
            aload 0 /* this */
            areturn
        end local 4 // byte[] bytes
        end local 3 // int offset
        end local 2 // int prefixLength
        end local 1 // java.net.InetAddress address
        end local 0 // android.net.VpnService$Builder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Landroid/net/VpnService$Builder;
            0   12     1       address  Ljava/net/InetAddress;
            0   12     2  prefixLength  I
            2   12     3        offset  I
            3   12     4         bytes  [B
    MethodParameters:
              Name  Flags
      address       
      prefixLength  

  public android.net.VpnService$Builder addRoute(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Landroid/net/VpnService$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.net.VpnService$Builder this
         0: .line 559
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tThe method parseNumericAddress(String) is undefined for the type InetAddress\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.net.VpnService$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/VpnService$Builder;
    MethodParameters:
              Name  Flags
      address       
      prefixLength  

  public android.net.VpnService$Builder addDnsServer(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Landroid/net/VpnService$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.net.VpnService$Builder this
        start local 1 // java.net.InetAddress address
         0: .line 573
            aload 1 /* address */
            invokevirtual java.net.InetAddress.isLoopbackAddress:()Z
            ifne 1
            aload 1 /* address */
            invokevirtual java.net.InetAddress.isAnyLocalAddress:()Z
            ifeq 2
         1: .line 574
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Bad address"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 576
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            getfield com.android.internal.net.VpnConfig.dnsServers:Ljava/util/List;
            ifnonnull 4
         3: .line 577
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.android.internal.net.VpnConfig.dnsServers:Ljava/util/List;
         4: .line 579
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            getfield com.android.internal.net.VpnConfig.dnsServers:Ljava/util/List;
            aload 1 /* address */
            invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 580
            aload 0 /* this */
            areturn
        end local 1 // java.net.InetAddress address
        end local 0 // android.net.VpnService$Builder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Landroid/net/VpnService$Builder;
            0    6     1  address  Ljava/net/InetAddress;
    MethodParameters:
         Name  Flags
      address  

  public android.net.VpnService$Builder addDnsServer(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/net/VpnService$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.net.VpnService$Builder this
         0: .line 595
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tThe method parseNumericAddress(String) is undefined for the type InetAddress\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.net.VpnService$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/VpnService$Builder;
    MethodParameters:
         Name  Flags
      address  

  public android.net.VpnService$Builder addSearchDomain(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/net/VpnService$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.net.VpnService$Builder this
        start local 1 // java.lang.String domain
         0: .line 602
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            getfield com.android.internal.net.VpnConfig.searchDomains:Ljava/util/List;
            ifnonnull 2
         1: .line 603
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.android.internal.net.VpnConfig.searchDomains:Ljava/util/List;
         2: .line 605
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            getfield com.android.internal.net.VpnConfig.searchDomains:Ljava/util/List;
            aload 1 /* domain */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 606
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String domain
        end local 0 // android.net.VpnService$Builder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Landroid/net/VpnService$Builder;
            0    4     1  domain  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      domain  

  public android.net.VpnService$Builder allowFamily(int);
    descriptor: (I)Landroid/net/VpnService$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.net.VpnService$Builder this
         0: .line 628
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tAF_INET cannot be resolved to a variable\n\tAF_INET6 cannot be resolved to a variable\n\tAF_INET cannot be resolved to a variable\n\tAF_INET6 cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // android.net.VpnService$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/net/VpnService$Builder;
    MethodParameters:
        Name  Flags
      family  

  private void verifyApp(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // android.net.VpnService$Builder this
        start local 1 // java.lang.String packageName
         0: .line 641
            ldc "package"
            invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
         1: .line 640
            invokestatic android.content.pm.IPackageManager$Stub.asInterface:(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
            astore 2 /* pm */
        start local 2 // android.content.pm.IPackageManager pm
         2: .line 643
            aload 2 /* pm */
            aload 1 /* packageName */
            iconst_0
            invokestatic android.os.UserHandle.getCallingUserId:()I
            invokeinterface android.content.pm.IPackageManager.getApplicationInfo:(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
            pop
         3: .line 644
            goto 6
      StackMap locals: android.net.VpnService$Builder java.lang.String android.content.pm.IPackageManager
      StackMap stack: android.os.RemoteException
         4: astore 3 /* e */
        start local 3 // android.os.RemoteException e
         5: .line 645
            new java.lang.IllegalStateException
            dup
            aload 3 /* e */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // android.os.RemoteException e
         6: .line 647
      StackMap locals:
      StackMap stack:
            return
        end local 2 // android.content.pm.IPackageManager pm
        end local 1 // java.lang.String packageName
        end local 0 // android.net.VpnService$Builder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Landroid/net/VpnService$Builder;
            0    7     1  packageName  Ljava/lang/String;
            2    7     2           pm  Landroid/content/pm/IPackageManager;
            5    6     3            e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           2     3       4  Class android.os.RemoteException
    Exceptions:
      throws android.content.pm.PackageManager$NameNotFoundException
    MethodParameters:
             Name  Flags
      packageName  

  public android.net.VpnService$Builder addAllowedApplication(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/net/VpnService$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.net.VpnService$Builder this
        start local 1 // java.lang.String packageName
         0: .line 672
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            getfield com.android.internal.net.VpnConfig.disallowedApplications:Ljava/util/List;
            ifnull 2
         1: .line 673
            new java.lang.UnsupportedOperationException
            dup
            ldc "addDisallowedApplication already called"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 675
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* packageName */
            invokevirtual android.net.VpnService$Builder.verifyApp:(Ljava/lang/String;)V
         3: .line 676
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            getfield com.android.internal.net.VpnConfig.allowedApplications:Ljava/util/List;
            ifnonnull 5
         4: .line 677
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.android.internal.net.VpnConfig.allowedApplications:Ljava/util/List;
         5: .line 679
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            getfield com.android.internal.net.VpnConfig.allowedApplications:Ljava/util/List;
            aload 1 /* packageName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 680
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String packageName
        end local 0 // android.net.VpnService$Builder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Landroid/net/VpnService$Builder;
            0    7     1  packageName  Ljava/lang/String;
    Exceptions:
      throws android.content.pm.PackageManager$NameNotFoundException
    MethodParameters:
             Name  Flags
      packageName  

  public android.net.VpnService$Builder addDisallowedApplication(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/net/VpnService$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.net.VpnService$Builder this
        start local 1 // java.lang.String packageName
         0: .line 704
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            getfield com.android.internal.net.VpnConfig.allowedApplications:Ljava/util/List;
            ifnull 2
         1: .line 705
            new java.lang.UnsupportedOperationException
            dup
            ldc "addAllowedApplication already called"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 707
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* packageName */
            invokevirtual android.net.VpnService$Builder.verifyApp:(Ljava/lang/String;)V
         3: .line 708
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            getfield com.android.internal.net.VpnConfig.disallowedApplications:Ljava/util/List;
            ifnonnull 5
         4: .line 709
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.android.internal.net.VpnConfig.disallowedApplications:Ljava/util/List;
         5: .line 711
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            getfield com.android.internal.net.VpnConfig.disallowedApplications:Ljava/util/List;
            aload 1 /* packageName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 712
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String packageName
        end local 0 // android.net.VpnService$Builder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Landroid/net/VpnService$Builder;
            0    7     1  packageName  Ljava/lang/String;
    Exceptions:
      throws android.content.pm.PackageManager$NameNotFoundException
    MethodParameters:
             Name  Flags
      packageName  

  public android.net.VpnService$Builder allowBypass();
    descriptor: ()Landroid/net/VpnService$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.net.VpnService$Builder this
         0: .line 726
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            iconst_1
            putfield com.android.internal.net.VpnConfig.allowBypass:Z
         1: .line 727
            aload 0 /* this */
            areturn
        end local 0 // android.net.VpnService$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/net/VpnService$Builder;

  public android.net.VpnService$Builder setBlocking(boolean);
    descriptor: (Z)Landroid/net/VpnService$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.net.VpnService$Builder this
        start local 1 // boolean blocking
         0: .line 740
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            iload 1 /* blocking */
            putfield com.android.internal.net.VpnConfig.blocking:Z
         1: .line 741
            aload 0 /* this */
            areturn
        end local 1 // boolean blocking
        end local 0 // android.net.VpnService$Builder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/net/VpnService$Builder;
            0    2     1  blocking  Z
    MethodParameters:
          Name  Flags
      blocking  

  public android.net.VpnService$Builder setUnderlyingNetworks(android.net.Network[]);
    descriptor: ([Landroid/net/Network;)Landroid/net/VpnService$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.net.VpnService$Builder this
        start local 1 // android.net.Network[] networks
         0: .line 754
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            aload 1 /* networks */
            ifnull 1
            aload 1 /* networks */
            invokevirtual android.net.Network[].clone:()Ljava/lang/Object;
            checkcast android.net.Network[]
            goto 2
      StackMap locals:
      StackMap stack: com.android.internal.net.VpnConfig
         1: aconst_null
      StackMap locals: android.net.VpnService$Builder android.net.Network[]
      StackMap stack: com.android.internal.net.VpnConfig android.net.Network[]
         2: putfield com.android.internal.net.VpnConfig.underlyingNetworks:[Landroid/net/Network;
         3: .line 755
            aload 0 /* this */
            areturn
        end local 1 // android.net.Network[] networks
        end local 0 // android.net.VpnService$Builder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Landroid/net/VpnService$Builder;
            0    4     1  networks  [Landroid/net/Network;
    MethodParameters:
          Name  Flags
      networks  

  public android.os.ParcelFileDescriptor establish();
    descriptor: ()Landroid/os/ParcelFileDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // android.net.VpnService$Builder this
         0: .line 802
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mAddresses:Ljava/util/List;
            putfield com.android.internal.net.VpnConfig.addresses:Ljava/util/List;
         1: .line 803
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mRoutes:Ljava/util/List;
            putfield com.android.internal.net.VpnConfig.routes:Ljava/util/List;
         2: .line 806
            invokestatic android.net.VpnService.getService:()Landroid/net/IConnectivityManager;
            aload 0 /* this */
            getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
            invokeinterface android.net.IConnectivityManager.establishVpn:(Lcom/android/internal/net/VpnConfig;)Landroid/os/ParcelFileDescriptor;
         3: areturn
         4: .line 807
      StackMap locals:
      StackMap stack: android.os.RemoteException
            astore 1 /* e */
        start local 1 // android.os.RemoteException e
         5: .line 808
            new java.lang.IllegalStateException
            dup
            aload 1 /* e */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // android.os.RemoteException e
        end local 0 // android.net.VpnService$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Landroid/net/VpnService$Builder;
            5    6     1     e  Landroid/os/RemoteException;
      Exception table:
        from    to  target  type
           2     3       4  Class android.os.RemoteException
}
SourceFile: "VpnService.java"
NestHost: android.net.VpnService
InnerClasses:
  public abstract Stub = android.content.pm.IPackageManager$Stub of android.content.pm.IPackageManager
  public NameNotFoundException = android.content.pm.PackageManager$NameNotFoundException of android.content.pm.PackageManager
  public Builder = android.net.VpnService$Builder of android.net.VpnService