final class java.util.stream.SliceOps
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: java.util.stream.SliceOps
  super_class: java.lang.Object
{
  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$java$util$stream$StreamShape;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 37
            ldc Ljava/util/stream/SliceOps;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic java.util.stream.SliceOps.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.stream.SliceOps this
         0: .line 40
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // java.util.stream.SliceOps this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/stream/SliceOps;

  private static long calcSize(long, long, long);
    descriptor: (JJJ)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // long size
        start local 2 // long skip
        start local 4 // long limit
         0: .line 53
            lload 0 /* size */
            lconst_0
            lcmp
            iflt 1
            ldc -1
            lload 0 /* size */
            lload 2 /* skip */
            lsub
            lload 4 /* limit */
            invokestatic java.lang.Math.min:(JJ)J
            invokestatic java.lang.Math.max:(JJ)J
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc -1
      StackMap locals:
      StackMap stack: long
         2: lreturn
        end local 4 // long limit
        end local 2 // long skip
        end local 0 // long size
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   size  J
            0    3     2   skip  J
            0    3     4  limit  J
    MethodParameters:
       Name  Flags
      size   
      skip   
      limit  

  private static long calcSliceFence(long, long);
    descriptor: (JJ)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // long skip
        start local 2 // long limit
         0: .line 65
            lload 2 /* limit */
            lconst_0
            lcmp
            iflt 1
            lload 0 /* skip */
            lload 2 /* limit */
            ladd
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc 9223372036854775807
      StackMap locals:
      StackMap stack: long
         2: lstore 4 /* sliceFence */
        start local 4 // long sliceFence
         3: .line 67
            lload 4 /* sliceFence */
            lconst_0
            lcmp
            iflt 4
            lload 4 /* sliceFence */
            goto 5
      StackMap locals: long
      StackMap stack:
         4: ldc 9223372036854775807
      StackMap locals:
      StackMap stack: long
         5: lreturn
        end local 4 // long sliceFence
        end local 2 // long limit
        end local 0 // long skip
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        skip  J
            0    6     2       limit  J
            3    6     4  sliceFence  J
    MethodParameters:
       Name  Flags
      skip   
      limit  

  private static <P_IN> java.util.Spliterator<P_IN> sliceSpliterator(java.util.stream.StreamShape, java.util.Spliterator<P_IN>, long, long);
    descriptor: (Ljava/util/stream/StreamShape;Ljava/util/Spliterator;JJ)Ljava/util/Spliterator;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // java.util.stream.StreamShape shape
        start local 1 // java.util.Spliterator s
        start local 2 // long skip
        start local 4 // long limit
         0: .line 79
            getstatic java.util.stream.SliceOps.$assertionsDisabled:Z
            ifne 1
            aload 1 /* s */
            sipush 16384
            invokeinterface java.util.Spliterator.hasCharacteristics:(I)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 80
      StackMap locals:
      StackMap stack:
            lload 2 /* skip */
            lload 4 /* limit */
            invokestatic java.util.stream.SliceOps.calcSliceFence:(JJ)J
            lstore 6 /* sliceFence */
        start local 6 // long sliceFence
         2: .line 81
            invokestatic java.util.stream.SliceOps.$SWITCH_TABLE$java$util$stream$StreamShape:()[I
            aload 0 /* shape */
            invokevirtual java.util.stream.StreamShape.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 3
                    2: 6
                    3: 9
                    4: 12
              default: 15
          }
         3: .line 83
      StackMap locals: long
      StackMap stack:
            new java.util.stream.StreamSpliterators$SliceSpliterator$OfRef
            dup
         4: .line 84
            aload 1 /* s */
            lload 2 /* skip */
            lload 6 /* sliceFence */
         5: .line 83
            invokespecial java.util.stream.StreamSpliterators$SliceSpliterator$OfRef.<init>:(Ljava/util/Spliterator;JJ)V
            areturn
         6: .line 86
      StackMap locals:
      StackMap stack:
            new java.util.stream.StreamSpliterators$SliceSpliterator$OfInt
            dup
         7: .line 87
            aload 1 /* s */
            checkcast java.util.Spliterator$OfInt
            lload 2 /* skip */
            lload 6 /* sliceFence */
         8: .line 86
            invokespecial java.util.stream.StreamSpliterators$SliceSpliterator$OfInt.<init>:(Ljava/util/Spliterator$OfInt;JJ)V
            areturn
         9: .line 89
      StackMap locals:
      StackMap stack:
            new java.util.stream.StreamSpliterators$SliceSpliterator$OfLong
            dup
        10: .line 90
            aload 1 /* s */
            checkcast java.util.Spliterator$OfLong
            lload 2 /* skip */
            lload 6 /* sliceFence */
        11: .line 89
            invokespecial java.util.stream.StreamSpliterators$SliceSpliterator$OfLong.<init>:(Ljava/util/Spliterator$OfLong;JJ)V
            areturn
        12: .line 92
      StackMap locals:
      StackMap stack:
            new java.util.stream.StreamSpliterators$SliceSpliterator$OfDouble
            dup
        13: .line 93
            aload 1 /* s */
            checkcast java.util.Spliterator$OfDouble
            lload 2 /* skip */
            lload 6 /* sliceFence */
        14: .line 92
            invokespecial java.util.stream.StreamSpliterators$SliceSpliterator$OfDouble.<init>:(Ljava/util/Spliterator$OfDouble;JJ)V
            areturn
        15: .line 95
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown shape "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* shape */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // long sliceFence
        end local 4 // long limit
        end local 2 // long skip
        end local 1 // java.util.Spliterator s
        end local 0 // java.util.stream.StreamShape shape
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0       shape  Ljava/util/stream/StreamShape;
            0   16     1           s  Ljava/util/Spliterator<TP_IN;>;
            0   16     2        skip  J
            0   16     4       limit  J
            2   16     6  sliceFence  J
    Signature: <P_IN:Ljava/lang/Object;>(Ljava/util/stream/StreamShape;Ljava/util/Spliterator<TP_IN;>;JJ)Ljava/util/Spliterator<TP_IN;>;
    MethodParameters:
       Name  Flags
      shape  
      s      
      skip   
      limit  

  public static <T> java.util.stream.Stream<T> makeRef(java.util.stream.AbstractPipeline<?, T, ?>, long, long);
    descriptor: (Ljava/util/stream/AbstractPipeline;JJ)Ljava/util/stream/Stream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=5, args_size=3
        start local 0 // java.util.stream.AbstractPipeline upstream
        start local 1 // long skip
        start local 3 // long limit
         0: .line 111
            lload 1 /* skip */
            lconst_0
            lcmp
            ifge 2
         1: .line 112
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Skip must be non-negative: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* skip */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 114
      StackMap locals:
      StackMap stack:
            new java.util.stream.SliceOps$1
            dup
            aload 0 /* upstream */
            getstatic java.util.stream.StreamShape.REFERENCE:Ljava/util/stream/StreamShape;
         3: .line 115
            lload 3 /* limit */
            invokestatic java.util.stream.SliceOps.flags:(J)I
         4: .line 114
            lload 1 /* skip */
            lload 3 /* limit */
            invokespecial java.util.stream.SliceOps$1.<init>:(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;IJJ)V
            areturn
        end local 3 // long limit
        end local 1 // long skip
        end local 0 // java.util.stream.AbstractPipeline upstream
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  upstream  Ljava/util/stream/AbstractPipeline<*TT;*>;
            0    5     1      skip  J
            0    5     3     limit  J
    Signature: <T:Ljava/lang/Object;>(Ljava/util/stream/AbstractPipeline<*TT;*>;JJ)Ljava/util/stream/Stream<TT;>;
    MethodParameters:
          Name  Flags
      upstream  
      skip      
      limit     

  public static java.util.stream.IntStream makeInt(java.util.stream.AbstractPipeline<?, java.lang.Integer, ?>, long, long);
    descriptor: (Ljava/util/stream/AbstractPipeline;JJ)Ljava/util/stream/IntStream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=5, args_size=3
        start local 0 // java.util.stream.AbstractPipeline upstream
        start local 1 // long skip
        start local 3 // long limit
         0: .line 227
            lload 1 /* skip */
            lconst_0
            lcmp
            ifge 2
         1: .line 228
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Skip must be non-negative: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* skip */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 230
      StackMap locals:
      StackMap stack:
            new java.util.stream.SliceOps$2
            dup
            aload 0 /* upstream */
            getstatic java.util.stream.StreamShape.INT_VALUE:Ljava/util/stream/StreamShape;
         3: .line 231
            lload 3 /* limit */
            invokestatic java.util.stream.SliceOps.flags:(J)I
         4: .line 230
            lload 1 /* skip */
            lload 3 /* limit */
            invokespecial java.util.stream.SliceOps$2.<init>:(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;IJJ)V
            areturn
        end local 3 // long limit
        end local 1 // long skip
        end local 0 // java.util.stream.AbstractPipeline upstream
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  upstream  Ljava/util/stream/AbstractPipeline<*Ljava/lang/Integer;*>;
            0    5     1      skip  J
            0    5     3     limit  J
    Signature: (Ljava/util/stream/AbstractPipeline<*Ljava/lang/Integer;*>;JJ)Ljava/util/stream/IntStream;
    MethodParameters:
          Name  Flags
      upstream  
      skip      
      limit     

  public static java.util.stream.LongStream makeLong(java.util.stream.AbstractPipeline<?, java.lang.Long, ?>, long, long);
    descriptor: (Ljava/util/stream/AbstractPipeline;JJ)Ljava/util/stream/LongStream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=5, args_size=3
        start local 0 // java.util.stream.AbstractPipeline upstream
        start local 1 // long skip
        start local 3 // long limit
         0: .line 336
            lload 1 /* skip */
            lconst_0
            lcmp
            ifge 2
         1: .line 337
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Skip must be non-negative: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* skip */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 339
      StackMap locals:
      StackMap stack:
            new java.util.stream.SliceOps$3
            dup
            aload 0 /* upstream */
            getstatic java.util.stream.StreamShape.LONG_VALUE:Ljava/util/stream/StreamShape;
         3: .line 340
            lload 3 /* limit */
            invokestatic java.util.stream.SliceOps.flags:(J)I
         4: .line 339
            lload 1 /* skip */
            lload 3 /* limit */
            invokespecial java.util.stream.SliceOps$3.<init>:(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;IJJ)V
            areturn
        end local 3 // long limit
        end local 1 // long skip
        end local 0 // java.util.stream.AbstractPipeline upstream
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  upstream  Ljava/util/stream/AbstractPipeline<*Ljava/lang/Long;*>;
            0    5     1      skip  J
            0    5     3     limit  J
    Signature: (Ljava/util/stream/AbstractPipeline<*Ljava/lang/Long;*>;JJ)Ljava/util/stream/LongStream;
    MethodParameters:
          Name  Flags
      upstream  
      skip      
      limit     

  public static java.util.stream.DoubleStream makeDouble(java.util.stream.AbstractPipeline<?, java.lang.Double, ?>, long, long);
    descriptor: (Ljava/util/stream/AbstractPipeline;JJ)Ljava/util/stream/DoubleStream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=5, args_size=3
        start local 0 // java.util.stream.AbstractPipeline upstream
        start local 1 // long skip
        start local 3 // long limit
         0: .line 445
            lload 1 /* skip */
            lconst_0
            lcmp
            ifge 2
         1: .line 446
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Skip must be non-negative: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* skip */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 448
      StackMap locals:
      StackMap stack:
            new java.util.stream.SliceOps$4
            dup
            aload 0 /* upstream */
            getstatic java.util.stream.StreamShape.DOUBLE_VALUE:Ljava/util/stream/StreamShape;
         3: .line 449
            lload 3 /* limit */
            invokestatic java.util.stream.SliceOps.flags:(J)I
         4: .line 448
            lload 1 /* skip */
            lload 3 /* limit */
            invokespecial java.util.stream.SliceOps$4.<init>:(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;IJJ)V
            areturn
        end local 3 // long limit
        end local 1 // long skip
        end local 0 // java.util.stream.AbstractPipeline upstream
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  upstream  Ljava/util/stream/AbstractPipeline<*Ljava/lang/Double;*>;
            0    5     1      skip  J
            0    5     3     limit  J
    Signature: (Ljava/util/stream/AbstractPipeline<*Ljava/lang/Double;*>;JJ)Ljava/util/stream/DoubleStream;
    MethodParameters:
          Name  Flags
      upstream  
      skip      
      limit     

  private static int flags(long);
    descriptor: (J)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // long limit
         0: .line 544
            getstatic java.util.stream.StreamOpFlag.NOT_SIZED:I
            lload 0 /* limit */
            ldc -1
            lcmp
            ifeq 1
            getstatic java.util.stream.StreamOpFlag.IS_SHORT_CIRCUIT:I
            goto 2
      StackMap locals:
      StackMap stack: int
         1: iconst_0
      StackMap locals: long
      StackMap stack: int int
         2: ior
            ireturn
        end local 0 // long limit
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  limit  J
    MethodParameters:
       Name  Flags
      limit  

  static int[] $SWITCH_TABLE$java$util$stream$StreamShape();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 37
            getstatic java.util.stream.SliceOps.$SWITCH_TABLE$java$util$stream$StreamShape:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic java.util.stream.StreamShape.values:()[Ljava/util/stream/StreamShape;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic java.util.stream.StreamShape.DOUBLE_VALUE:Ljava/util/stream/StreamShape;
            invokevirtual java.util.stream.StreamShape.ordinal:()I
            iconst_4
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic java.util.stream.StreamShape.INT_VALUE:Ljava/util/stream/StreamShape;
            invokevirtual java.util.stream.StreamShape.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic java.util.stream.StreamShape.LONG_VALUE:Ljava/util/stream/StreamShape;
            invokevirtual java.util.stream.StreamShape.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic java.util.stream.StreamShape.REFERENCE:Ljava/util/stream/StreamShape;
            invokevirtual java.util.stream.StreamShape.ordinal:()I
            iconst_1
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic java.util.stream.SliceOps.$SWITCH_TABLE$java$util$stream$StreamShape:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
}
SourceFile: "SliceOps.java"
NestMembers:
  java.util.stream.SliceOps$1  java.util.stream.SliceOps$1$1  java.util.stream.SliceOps$2  java.util.stream.SliceOps$2$1  java.util.stream.SliceOps$3  java.util.stream.SliceOps$3$1  java.util.stream.SliceOps$4  java.util.stream.SliceOps$4$1  java.util.stream.SliceOps$SliceTask
InnerClasses:
  public abstract OfDouble = java.util.Spliterator$OfDouble of java.util.Spliterator
  public abstract OfInt = java.util.Spliterator$OfInt of java.util.Spliterator
  public abstract OfLong = java.util.Spliterator$OfLong of java.util.Spliterator
  java.util.stream.SliceOps$1
  java.util.stream.SliceOps$2
  java.util.stream.SliceOps$3
  java.util.stream.SliceOps$4
  private final SliceTask = java.util.stream.SliceOps$SliceTask of java.util.stream.SliceOps
  abstract SliceSpliterator = java.util.stream.StreamSpliterators$SliceSpliterator of java.util.stream.StreamSpliterators
  final OfDouble = java.util.stream.StreamSpliterators$SliceSpliterator$OfDouble of java.util.stream.StreamSpliterators$SliceSpliterator
  final OfInt = java.util.stream.StreamSpliterators$SliceSpliterator$OfInt of java.util.stream.StreamSpliterators$SliceSpliterator
  final OfLong = java.util.stream.StreamSpliterators$SliceSpliterator$OfLong of java.util.stream.StreamSpliterators$SliceSpliterator
  final OfRef = java.util.stream.StreamSpliterators$SliceSpliterator$OfRef of java.util.stream.StreamSpliterators$SliceSpliterator