public final class com.sun.marlin.DStroker implements com.sun.marlin.DPathConsumer2D, com.sun.marlin.MarlinConst
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.marlin.DStroker
  super_class: java.lang.Object
{
  private static final int MOVE_TO;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int DRAWING_OP_TO;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int CLOSE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final double ERR_JOIN;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double ROUND_JOIN_THRESHOLD;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double C;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double SQRT_2;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private com.sun.marlin.DPathConsumer2D out;
    descriptor: Lcom/sun/marlin/DPathConsumer2D;
    flags: (0x0002) ACC_PRIVATE

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

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

  private double lineWidth2;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double invHalfLineWidth2Sq;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private final double[] offset0;
    descriptor: [D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double[] offset1;
    descriptor: [D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double[] offset2;
    descriptor: [D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double[] miter;
    descriptor: [D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private double miterLimitSq;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

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

  private double sx0;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double sy0;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double sdx;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double sdy;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double cx0;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double cy0;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double cdx;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double cdy;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double smx;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double smy;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double cmx;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double cmy;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private final com.sun.marlin.DHelpers$PolyStack reverse;
    descriptor: Lcom/sun/marlin/DHelpers$PolyStack;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double[] lp;
    descriptor: [D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double[] rp;
    descriptor: [D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final com.sun.marlin.DRendererContext rdrCtx;
    descriptor: Lcom/sun/marlin/DRendererContext;
    flags: (0x0010) ACC_FINAL

  final com.sun.marlin.DCurve curve;
    descriptor: Lcom/sun/marlin/DCurve;
    flags: (0x0010) ACC_FINAL

  private double[] clipRect;
    descriptor: [D
    flags: (0x0002) ACC_PRIVATE

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

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

  private boolean opened;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean capStart;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean monotonize;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean subdivide;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final com.sun.marlin.DTransformingPathConsumer2D$CurveClipSplitter curveSplitter;
    descriptor: Lcom/sun/marlin/DTransformingPathConsumer2D$CurveClipSplitter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 36
            ldc Lcom/sun/marlin/DStroker;
            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 com.sun.marlin.DStroker.$assertionsDisabled:Z
         3: .line 43
            fconst_1
            getstatic com.sun.marlin.DStroker.MIN_SUBPIXELS:F
            fdiv
            f2d
            putstatic com.sun.marlin.DStroker.ERR_JOIN:D
         4: .line 44
            getstatic com.sun.marlin.DStroker.ERR_JOIN:D
            getstatic com.sun.marlin.DStroker.ERR_JOIN:D
            dmul
            putstatic com.sun.marlin.DStroker.ROUND_JOIN_THRESHOLD:D
         5: .line 47
            ldc 4.0
            ldc 2.0
            invokestatic java.lang.Math.sqrt:(D)D
            dconst_1
            dsub
            dmul
            ldc 3.0
            ddiv
            putstatic com.sun.marlin.DStroker.C:D
         6: .line 50
            ldc 2.0
            invokestatic java.lang.Math.sqrt:(D)D
            putstatic com.sun.marlin.DStroker.SQRT_2:D
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(com.sun.marlin.DRendererContext);
    descriptor: (Lcom/sun/marlin/DRendererContext;)V
    flags: (0x0000) 
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // com.sun.marlin.DRendererContext rdrCtx
         0: .line 114
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 60
            aload 0 /* this */
            iconst_2
            newarray 7
            putfield com.sun.marlin.DStroker.offset0:[D
         2: .line 61
            aload 0 /* this */
            iconst_2
            newarray 7
            putfield com.sun.marlin.DStroker.offset1:[D
         3: .line 62
            aload 0 /* this */
            iconst_2
            newarray 7
            putfield com.sun.marlin.DStroker.offset2:[D
         4: .line 63
            aload 0 /* this */
            iconst_2
            newarray 7
            putfield com.sun.marlin.DStroker.miter:[D
         5: .line 82
            aload 0 /* this */
            bipush 8
            newarray 7
            putfield com.sun.marlin.DStroker.lp:[D
         6: .line 83
            aload 0 /* this */
            bipush 8
            newarray 7
            putfield com.sun.marlin.DStroker.rp:[D
         7: .line 95
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.cOutCode:I
         8: .line 98
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.sOutCode:I
         9: .line 101
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.opened:Z
        10: .line 103
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.capStart:Z
        11: .line 107
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.subdivide:Z
        12: .line 115
            aload 0 /* this */
            aload 1 /* rdrCtx */
            putfield com.sun.marlin.DStroker.rdrCtx:Lcom/sun/marlin/DRendererContext;
        13: .line 117
            aload 0 /* this */
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
            ifnull 22
        14: .line 118
            new com.sun.marlin.DHelpers$PolyStack
            dup
            aload 1 /* rdrCtx */
        15: .line 119
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
            getfield com.sun.marlin.RendererStats.stat_str_polystack_types:Lcom/sun/marlin/stats/StatLong;
        16: .line 120
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
            getfield com.sun.marlin.RendererStats.stat_str_polystack_curves:Lcom/sun/marlin/stats/StatLong;
        17: .line 121
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
            getfield com.sun.marlin.RendererStats.hist_str_polystack_curves:Lcom/sun/marlin/stats/Histogram;
        18: .line 122
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
            getfield com.sun.marlin.RendererStats.stat_array_str_polystack_curves:Lcom/sun/marlin/stats/StatLong;
        19: .line 123
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
            getfield com.sun.marlin.RendererStats.stat_array_str_polystack_types:Lcom/sun/marlin/stats/StatLong;
        20: .line 118
            invokespecial com.sun.marlin.DHelpers$PolyStack.<init>:(Lcom/sun/marlin/DRendererContext;Lcom/sun/marlin/stats/StatLong;Lcom/sun/marlin/stats/StatLong;Lcom/sun/marlin/stats/Histogram;Lcom/sun/marlin/stats/StatLong;Lcom/sun/marlin/stats/StatLong;)V
        21: .line 123
            goto 23
        22: .line 124
      StackMap locals: com.sun.marlin.DStroker com.sun.marlin.DRendererContext
      StackMap stack: com.sun.marlin.DStroker
            new com.sun.marlin.DHelpers$PolyStack
            dup
            aload 1 /* rdrCtx */
            invokespecial com.sun.marlin.DHelpers$PolyStack.<init>:(Lcom/sun/marlin/DRendererContext;)V
        23: .line 117
      StackMap locals: com.sun.marlin.DStroker com.sun.marlin.DRendererContext
      StackMap stack: com.sun.marlin.DStroker com.sun.marlin.DHelpers$PolyStack
            putfield com.sun.marlin.DStroker.reverse:Lcom/sun/marlin/DHelpers$PolyStack;
        24: .line 126
            aload 0 /* this */
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.DRendererContext.curve:Lcom/sun/marlin/DCurve;
            putfield com.sun.marlin.DStroker.curve:Lcom/sun/marlin/DCurve;
        25: .line 127
            aload 0 /* this */
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.DRendererContext.curveClipSplitter:Lcom/sun/marlin/DTransformingPathConsumer2D$CurveClipSplitter;
            putfield com.sun.marlin.DStroker.curveSplitter:Lcom/sun/marlin/DTransformingPathConsumer2D$CurveClipSplitter;
        26: .line 128
            return
        end local 1 // com.sun.marlin.DRendererContext rdrCtx
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   27     0    this  Lcom/sun/marlin/DStroker;
            0   27     1  rdrCtx  Lcom/sun/marlin/DRendererContext;
    MethodParameters:
        Name  Flags
      rdrCtx  final

  public com.sun.marlin.DStroker init(com.sun.marlin.DPathConsumer2D, double, int, int, double, boolean);
    descriptor: (Lcom/sun/marlin/DPathConsumer2D;DIIDZ)Lcom/sun/marlin/DStroker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=14, args_size=7
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // com.sun.marlin.DPathConsumer2D pc2d
        start local 2 // double lineWidth
        start local 4 // int capStyle
        start local 5 // int joinStyle
        start local 6 // double miterLimit
        start local 8 // boolean subdivideCurves
         0: .line 152
            aload 0 /* this */
            aload 1 /* pc2d */
            putfield com.sun.marlin.DStroker.out:Lcom/sun/marlin/DPathConsumer2D;
         1: .line 154
            aload 0 /* this */
            dload 2 /* lineWidth */
            ldc 2.0
            ddiv
            putfield com.sun.marlin.DStroker.lineWidth2:D
         2: .line 155
            aload 0 /* this */
            dconst_1
            ldc 2.0
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            dmul
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            dmul
            ddiv
            putfield com.sun.marlin.DStroker.invHalfLineWidth2Sq:D
         3: .line 156
            aload 0 /* this */
            iload 8 /* subdivideCurves */
            putfield com.sun.marlin.DStroker.monotonize:Z
         4: .line 158
            aload 0 /* this */
            iload 4 /* capStyle */
            putfield com.sun.marlin.DStroker.capStyle:I
         5: .line 159
            aload 0 /* this */
            iload 5 /* joinStyle */
            putfield com.sun.marlin.DStroker.joinStyle:I
         6: .line 161
            dload 6 /* miterLimit */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            dmul
            dstore 9 /* limit */
        start local 9 // double limit
         7: .line 162
            aload 0 /* this */
            dload 9 /* limit */
            dload 9 /* limit */
            dmul
            putfield com.sun.marlin.DStroker.miterLimitSq:D
         8: .line 164
            aload 0 /* this */
            iconst_2
            putfield com.sun.marlin.DStroker.prev:I
         9: .line 166
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.rdrCtx:Lcom/sun/marlin/DRendererContext;
            iconst_1
            putfield com.sun.marlin.DRendererContext.stroking:I
        10: .line 168
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.rdrCtx:Lcom/sun/marlin/DRendererContext;
            getfield com.sun.marlin.DRendererContext.doClip:Z
            ifeq 32
        11: .line 170
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            dstore 11 /* margin */
        start local 11 // double margin
        12: .line 172
            iload 4 /* capStyle */
            iconst_2
            if_icmpne 14
        13: .line 173
            dload 11 /* margin */
            getstatic com.sun.marlin.DStroker.SQRT_2:D
            dmul
            dstore 11 /* margin */
        14: .line 175
      StackMap locals: double double
      StackMap stack:
            iload 5 /* joinStyle */
            ifne 16
            dload 11 /* margin */
            dload 9 /* limit */
            dcmpg
            ifge 16
        15: .line 176
            dload 9 /* limit */
            dstore 11 /* margin */
        16: .line 181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.rdrCtx:Lcom/sun/marlin/DRendererContext;
            getfield com.sun.marlin.DRendererContext.clipRect:[D
            astore 13 /* _clipRect */
        start local 13 // double[] _clipRect
        17: .line 182
            aload 13 /* _clipRect */
            iconst_0
            dup2
            daload
            dload 11 /* margin */
            dsub
            dastore
        18: .line 183
            aload 13 /* _clipRect */
            iconst_1
            dup2
            daload
            dload 11 /* margin */
            dadd
            dastore
        19: .line 184
            aload 13 /* _clipRect */
            iconst_2
            dup2
            daload
            dload 11 /* margin */
            dsub
            dastore
        20: .line 185
            aload 13 /* _clipRect */
            iconst_3
            dup2
            daload
            dload 11 /* margin */
            dadd
            dastore
        21: .line 186
            aload 0 /* this */
            aload 13 /* _clipRect */
            putfield com.sun.marlin.DStroker.clipRect:[D
        22: .line 188
            getstatic com.sun.marlin.MarlinConst.DO_LOG_CLIP:Z
            ifeq 26
        23: .line 189
            new java.lang.StringBuilder
            dup
            ldc "clipRect (stroker): "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        24: .line 190
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.rdrCtx:Lcom/sun/marlin/DRendererContext;
            getfield com.sun.marlin.DRendererContext.clipRect:[D
            invokestatic java.util.Arrays.toString:([D)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 189
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.sun.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
        26: .line 194
      StackMap locals: double[]
      StackMap stack:
            getstatic com.sun.marlin.DStroker.DO_CLIP_SUBDIVIDER:Z
            ifeq 30
        27: .line 195
            aload 0 /* this */
            iload 8 /* subdivideCurves */
            putfield com.sun.marlin.DStroker.subdivide:Z
        28: .line 197
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.curveSplitter:Lcom/sun/marlin/DTransformingPathConsumer2D$CurveClipSplitter;
            invokevirtual com.sun.marlin.DTransformingPathConsumer2D$CurveClipSplitter.init:()V
        29: .line 198
            goto 35
        30: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.subdivide:Z
        end local 13 // double[] _clipRect
        end local 11 // double margin
        31: .line 201
            goto 35
        32: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.marlin.DStroker.clipRect:[D
        33: .line 203
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.cOutCode:I
        34: .line 204
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.sOutCode:I
        35: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 9 // double limit
        end local 8 // boolean subdivideCurves
        end local 6 // double miterLimit
        end local 5 // int joinStyle
        end local 4 // int capStyle
        end local 2 // double lineWidth
        end local 1 // com.sun.marlin.DPathConsumer2D pc2d
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   36     0             this  Lcom/sun/marlin/DStroker;
            0   36     1             pc2d  Lcom/sun/marlin/DPathConsumer2D;
            0   36     2        lineWidth  D
            0   36     4         capStyle  I
            0   36     5        joinStyle  I
            0   36     6       miterLimit  D
            0   36     8  subdivideCurves  Z
            7   36     9            limit  D
           12   31    11           margin  D
           17   31    13        _clipRect  [D
    MethodParameters:
                 Name  Flags
      pc2d             final
      lineWidth        final
      capStyle         final
      joinStyle        final
      miterLimit       final
      subdivideCurves  final

  public void disableClipping();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.marlin.DStroker this
         0: .line 210
            aload 0 /* this */
            aconst_null
            putfield com.sun.marlin.DStroker.clipRect:[D
         1: .line 211
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.cOutCode:I
         2: .line 212
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.sOutCode:I
         3: .line 213
            return
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/marlin/DStroker;

  void dispose();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.marlin.DStroker this
         0: .line 220
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.reverse:Lcom/sun/marlin/DHelpers$PolyStack;
            invokevirtual com.sun.marlin.DHelpers$PolyStack.dispose:()V
         1: .line 222
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.opened:Z
         2: .line 223
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.capStart:Z
         3: .line 234
            return
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/marlin/DStroker;

  private static void computeOffset(double, double, double, double[]);
    descriptor: (DDD[D)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // double lx
        start local 2 // double ly
        start local 4 // double w
        start local 6 // double[] m
         0: .line 239
            dload 0 /* lx */
            dload 0 /* lx */
            dmul
            dload 2 /* ly */
            dload 2 /* ly */
            dmul
            dadd
            dstore 7 /* len */
        start local 7 // double len
         1: .line 240
            dload 7 /* len */
            dconst_0
            dcmpl
            ifne 5
         2: .line 241
            aload 6 /* m */
            iconst_0
            dconst_0
            dastore
         3: .line 242
            aload 6 /* m */
            iconst_1
            dconst_0
            dastore
         4: .line 243
            goto 8
         5: .line 244
      StackMap locals: double
      StackMap stack:
            dload 7 /* len */
            invokestatic java.lang.Math.sqrt:(D)D
            dstore 7 /* len */
         6: .line 245
            aload 6 /* m */
            iconst_0
            dload 2 /* ly */
            dload 4 /* w */
            dmul
            dload 7 /* len */
            ddiv
            dastore
         7: .line 246
            aload 6 /* m */
            iconst_1
            dload 0 /* lx */
            dload 4 /* w */
            dmul
            dneg
            dload 7 /* len */
            ddiv
            dastore
         8: .line 248
      StackMap locals:
      StackMap stack:
            return
        end local 7 // double len
        end local 6 // double[] m
        end local 4 // double w
        end local 2 // double ly
        end local 0 // double lx
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0    lx  D
            0    9     2    ly  D
            0    9     4     w  D
            0    9     6     m  [D
            1    9     7   len  D
    MethodParameters:
      Name  Flags
      lx    final
      ly    final
      w     final
      m     final

  private static boolean isCW(double, double, double, double);
    descriptor: (DDDD)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // double dx1
        start local 2 // double dy1
        start local 4 // double dx2
        start local 6 // double dy2
         0: .line 261
            dload 0 /* dx1 */
            dload 6 /* dy2 */
            dmul
            dload 2 /* dy1 */
            dload 4 /* dx2 */
            dmul
            dcmpg
            ifgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 6 // double dy2
        end local 4 // double dx2
        end local 2 // double dy1
        end local 0 // double dx1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   dx1  D
            0    2     2   dy1  D
            0    2     4   dx2  D
            0    2     6   dy2  D
    MethodParameters:
      Name  Flags
      dx1   final
      dy1   final
      dx2   final
      dy2   final

  private void mayDrawRoundJoin(double, double, double, double, double, double, boolean);
    descriptor: (DDDDDDZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=14, locals=20, args_size=8
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double cx
        start local 3 // double cy
        start local 5 // double omx
        start local 7 // double omy
        start local 9 // double mx
        start local 11 // double my
        start local 13 // boolean rev
         0: .line 269
            dload 5 /* omx */
            dconst_0
            dcmpl
            ifne 1
            dload 7 /* omy */
            dconst_0
            dcmpl
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: dload 9 /* mx */
            dconst_0
            dcmpl
            ifne 3
            dload 11 /* my */
            dconst_0
            dcmpl
            ifne 3
         2: .line 270
      StackMap locals:
      StackMap stack:
            return
         3: .line 273
      StackMap locals:
      StackMap stack:
            dload 5 /* omx */
            dload 9 /* mx */
            dsub
            dstore 14 /* domx */
        start local 14 // double domx
         4: .line 274
            dload 7 /* omy */
            dload 11 /* my */
            dsub
            dstore 16 /* domy */
        start local 16 // double domy
         5: .line 275
            dload 14 /* domx */
            dload 14 /* domx */
            dmul
            dload 16 /* domy */
            dload 16 /* domy */
            dmul
            dadd
            dstore 18 /* lenSq */
        start local 18 // double lenSq
         6: .line 277
            dload 18 /* lenSq */
            getstatic com.sun.marlin.DStroker.ROUND_JOIN_THRESHOLD:D
            dcmpg
            ifge 8
         7: .line 278
            return
         8: .line 281
      StackMap locals: double double double
      StackMap stack:
            iload 13 /* rev */
            ifeq 13
         9: .line 282
            dload 5 /* omx */
            dneg
            dstore 5 /* omx */
        10: .line 283
            dload 7 /* omy */
            dneg
            dstore 7 /* omy */
        11: .line 284
            dload 9 /* mx */
            dneg
            dstore 9 /* mx */
        12: .line 285
            dload 11 /* my */
            dneg
            dstore 11 /* my */
        13: .line 287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 1 /* cx */
            dload 3 /* cy */
            dload 5 /* omx */
            dload 7 /* omy */
            dload 9 /* mx */
            dload 11 /* my */
            iload 13 /* rev */
            invokevirtual com.sun.marlin.DStroker.drawRoundJoin:(DDDDDDZ)V
        14: .line 288
            return
        end local 18 // double lenSq
        end local 16 // double domy
        end local 14 // double domx
        end local 13 // boolean rev
        end local 11 // double my
        end local 9 // double mx
        end local 7 // double omy
        end local 5 // double omx
        end local 3 // double cy
        end local 1 // double cx
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Lcom/sun/marlin/DStroker;
            0   15     1     cx  D
            0   15     3     cy  D
            0   15     5    omx  D
            0   15     7    omy  D
            0   15     9     mx  D
            0   15    11     my  D
            0   15    13    rev  Z
            4   15    14   domx  D
            5   15    16   domy  D
            6   15    18  lenSq  D
    MethodParameters:
      Name  Flags
      cx    
      cy    
      omx   
      omy   
      mx    
      my    
      rev   

  private void drawRoundJoin(double, double, double, double, double, double, boolean);
    descriptor: (DDDDDDZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=14, locals=28, args_size=8
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double cx
        start local 3 // double cy
        start local 5 // double omx
        start local 7 // double omy
        start local 9 // double mx
        start local 11 // double my
        start local 13 // boolean rev
         0: .line 298
            dload 5 /* omx */
            dload 9 /* mx */
            dmul
            dload 7 /* omy */
            dload 11 /* my */
            dmul
            dadd
            dstore 14 /* cosext */
        start local 14 // double cosext
         1: .line 302
            dload 14 /* cosext */
            dconst_0
            dcmpl
            iflt 4
         2: .line 303
            aload 0 /* this */
            dload 1 /* cx */
            dload 3 /* cy */
            dload 5 /* omx */
            dload 7 /* omy */
            dload 9 /* mx */
            dload 11 /* my */
            iload 13 /* rev */
            invokevirtual com.sun.marlin.DStroker.drawBezApproxForArc:(DDDDDDZ)V
         3: .line 304
            goto 15
         4: .line 319
      StackMap locals: double
      StackMap stack:
            dload 11 /* my */
            dload 7 /* omy */
            dsub
            dstore 16 /* nx */
        start local 16 // double nx
         5: dload 5 /* omx */
            dload 9 /* mx */
            dsub
            dstore 18 /* ny */
        start local 18 // double ny
         6: .line 320
            dload 16 /* nx */
            dload 16 /* nx */
            dmul
            dload 18 /* ny */
            dload 18 /* ny */
            dmul
            dadd
            invokestatic java.lang.Math.sqrt:(D)D
            dstore 20 /* nlen */
        start local 20 // double nlen
         7: .line 321
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            dload 20 /* nlen */
            ddiv
            dstore 22 /* scale */
        start local 22 // double scale
         8: .line 322
            dload 16 /* nx */
            dload 22 /* scale */
            dmul
            dstore 24 /* mmx */
        start local 24 // double mmx
         9: dload 18 /* ny */
            dload 22 /* scale */
            dmul
            dstore 26 /* mmy */
        start local 26 // double mmy
        10: .line 327
            iload 13 /* rev */
            ifeq 13
        11: .line 328
            dload 24 /* mmx */
            dneg
            dstore 24 /* mmx */
        12: .line 329
            dload 26 /* mmy */
            dneg
            dstore 26 /* mmy */
        13: .line 331
      StackMap locals: com.sun.marlin.DStroker double double double double double double int double double double double double double double
      StackMap stack:
            aload 0 /* this */
            dload 1 /* cx */
            dload 3 /* cy */
            dload 5 /* omx */
            dload 7 /* omy */
            dload 24 /* mmx */
            dload 26 /* mmy */
            iload 13 /* rev */
            invokevirtual com.sun.marlin.DStroker.drawBezApproxForArc:(DDDDDDZ)V
        14: .line 332
            aload 0 /* this */
            dload 1 /* cx */
            dload 3 /* cy */
            dload 24 /* mmx */
            dload 26 /* mmy */
            dload 9 /* mx */
            dload 11 /* my */
            iload 13 /* rev */
            invokevirtual com.sun.marlin.DStroker.drawBezApproxForArc:(DDDDDDZ)V
        end local 26 // double mmy
        end local 24 // double mmx
        end local 22 // double scale
        end local 20 // double nlen
        end local 18 // double ny
        end local 16 // double nx
        15: .line 334
      StackMap locals: com.sun.marlin.DStroker double double double double double double int double
      StackMap stack:
            return
        end local 14 // double cosext
        end local 13 // boolean rev
        end local 11 // double my
        end local 9 // double mx
        end local 7 // double omy
        end local 5 // double omx
        end local 3 // double cy
        end local 1 // double cx
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    this  Lcom/sun/marlin/DStroker;
            0   16     1      cx  D
            0   16     3      cy  D
            0   16     5     omx  D
            0   16     7     omy  D
            0   16     9      mx  D
            0   16    11      my  D
            0   16    13     rev  Z
            1   16    14  cosext  D
            5   15    16      nx  D
            6   15    18      ny  D
            7   15    20    nlen  D
            8   15    22   scale  D
            9   15    24     mmx  D
           10   15    26     mmy  D
    MethodParameters:
      Name  Flags
      cx    
      cy    
      omx   
      omy   
      mx    
      my    
      rev   

  private void drawBezApproxForArc(double, double, double, double, double, double, boolean);
    descriptor: (DDDDDDZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=18, locals=34, args_size=8
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double cx
        start local 3 // double cy
        start local 5 // double omx
        start local 7 // double omy
        start local 9 // double mx
        start local 11 // double my
        start local 13 // boolean rev
         0: .line 342
            dload 5 /* omx */
            dload 9 /* mx */
            dmul
            dload 7 /* omy */
            dload 11 /* my */
            dmul
            dadd
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.invHalfLineWidth2Sq:D
            dmul
            dstore 14 /* cosext2 */
        start local 14 // double cosext2
         1: .line 346
            dload 14 /* cosext2 */
            ldc 0.5
            dcmpl
            iflt 3
         2: .line 348
            return
         3: .line 356
      StackMap locals: double
      StackMap stack:
            ldc 1.3333333333333333
            ldc 0.5
            dload 14 /* cosext2 */
            dsub
            invokestatic java.lang.Math.sqrt:(D)D
            dmul
         4: .line 357
            dconst_1
            dload 14 /* cosext2 */
            ldc 0.5
            dadd
            invokestatic java.lang.Math.sqrt:(D)D
            dadd
         5: .line 356
            ddiv
            dstore 16 /* cv */
        start local 16 // double cv
         6: .line 359
            iload 13 /* rev */
            ifeq 8
         7: .line 360
            dload 16 /* cv */
            dneg
            dstore 16 /* cv */
         8: .line 362
      StackMap locals: double
      StackMap stack:
            dload 1 /* cx */
            dload 5 /* omx */
            dadd
            dstore 18 /* x1 */
        start local 18 // double x1
         9: .line 363
            dload 3 /* cy */
            dload 7 /* omy */
            dadd
            dstore 20 /* y1 */
        start local 20 // double y1
        10: .line 364
            dload 18 /* x1 */
            dload 16 /* cv */
            dload 7 /* omy */
            dmul
            dsub
            dstore 22 /* x2 */
        start local 22 // double x2
        11: .line 365
            dload 20 /* y1 */
            dload 16 /* cv */
            dload 5 /* omx */
            dmul
            dadd
            dstore 24 /* y2 */
        start local 24 // double y2
        12: .line 367
            dload 1 /* cx */
            dload 9 /* mx */
            dadd
            dstore 26 /* x4 */
        start local 26 // double x4
        13: .line 368
            dload 3 /* cy */
            dload 11 /* my */
            dadd
            dstore 28 /* y4 */
        start local 28 // double y4
        14: .line 369
            dload 26 /* x4 */
            dload 16 /* cv */
            dload 11 /* my */
            dmul
            dadd
            dstore 30 /* x3 */
        start local 30 // double x3
        15: .line 370
            dload 28 /* y4 */
            dload 16 /* cv */
            dload 9 /* mx */
            dmul
            dsub
            dstore 32 /* y3 */
        start local 32 // double y3
        16: .line 372
            aload 0 /* this */
            dload 18 /* x1 */
            dload 20 /* y1 */
            dload 22 /* x2 */
            dload 24 /* y2 */
            dload 30 /* x3 */
            dload 32 /* y3 */
            dload 26 /* x4 */
            dload 28 /* y4 */
            iload 13 /* rev */
            invokevirtual com.sun.marlin.DStroker.emitCurveTo:(DDDDDDDDZ)V
        17: .line 373
            return
        end local 32 // double y3
        end local 30 // double x3
        end local 28 // double y4
        end local 26 // double x4
        end local 24 // double y2
        end local 22 // double x2
        end local 20 // double y1
        end local 18 // double x1
        end local 16 // double cv
        end local 14 // double cosext2
        end local 13 // boolean rev
        end local 11 // double my
        end local 9 // double mx
        end local 7 // double omy
        end local 5 // double omx
        end local 3 // double cy
        end local 1 // double cx
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Lcom/sun/marlin/DStroker;
            0   18     1       cx  D
            0   18     3       cy  D
            0   18     5      omx  D
            0   18     7      omy  D
            0   18     9       mx  D
            0   18    11       my  D
            0   18    13      rev  Z
            1   18    14  cosext2  D
            6   18    16       cv  D
            9   18    18       x1  D
           10   18    20       y1  D
           11   18    22       x2  D
           12   18    24       y2  D
           13   18    26       x4  D
           14   18    28       y4  D
           15   18    30       x3  D
           16   18    32       y3  D
    MethodParameters:
      Name  Flags
      cx    final
      cy    final
      omx   final
      omy   final
      mx    final
      my    final
      rev   

  private void drawRoundCap(double, double, double, double);
    descriptor: (DDDD)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=15, locals=13, args_size=5
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double cx
        start local 3 // double cy
        start local 5 // double mx
        start local 7 // double my
         0: .line 376
            getstatic com.sun.marlin.DStroker.C:D
            dload 5 /* mx */
            dmul
            dstore 9 /* Cmx */
        start local 9 // double Cmx
         1: .line 377
            getstatic com.sun.marlin.DStroker.C:D
            dload 7 /* my */
            dmul
            dstore 11 /* Cmy */
        start local 11 // double Cmy
         2: .line 378
            aload 0 /* this */
            dload 1 /* cx */
            dload 5 /* mx */
            dadd
            dload 11 /* Cmy */
            dsub
            dload 3 /* cy */
            dload 7 /* my */
            dadd
            dload 9 /* Cmx */
            dadd
         3: .line 379
            dload 1 /* cx */
            dload 7 /* my */
            dsub
            dload 9 /* Cmx */
            dadd
            dload 3 /* cy */
            dload 5 /* mx */
            dadd
            dload 11 /* Cmy */
            dadd
         4: .line 380
            dload 1 /* cx */
            dload 7 /* my */
            dsub
            dload 3 /* cy */
            dload 5 /* mx */
            dadd
         5: .line 378
            invokevirtual com.sun.marlin.DStroker.emitCurveTo:(DDDDDD)V
         6: .line 381
            aload 0 /* this */
            dload 1 /* cx */
            dload 7 /* my */
            dsub
            dload 9 /* Cmx */
            dsub
            dload 3 /* cy */
            dload 5 /* mx */
            dadd
            dload 11 /* Cmy */
            dsub
         7: .line 382
            dload 1 /* cx */
            dload 5 /* mx */
            dsub
            dload 11 /* Cmy */
            dsub
            dload 3 /* cy */
            dload 7 /* my */
            dsub
            dload 9 /* Cmx */
            dadd
         8: .line 383
            dload 1 /* cx */
            dload 5 /* mx */
            dsub
            dload 3 /* cy */
            dload 7 /* my */
            dsub
         9: .line 381
            invokevirtual com.sun.marlin.DStroker.emitCurveTo:(DDDDDD)V
        10: .line 384
            return
        end local 11 // double Cmy
        end local 9 // double Cmx
        end local 7 // double my
        end local 5 // double mx
        end local 3 // double cy
        end local 1 // double cx
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/sun/marlin/DStroker;
            0   11     1    cx  D
            0   11     3    cy  D
            0   11     5    mx  D
            0   11     7    my  D
            1   11     9   Cmx  D
            2   11    11   Cmy  D
    MethodParameters:
      Name  Flags
      cx    
      cy    
      mx    
      my    

  private static void computeMiter(double, double, double, double, double, double, double, double, double[]);
    descriptor: (DDDDDDDD[D)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=29, args_size=9
        start local 0 // double x0
        start local 2 // double y0
        start local 4 // double x1
        start local 6 // double y1
        start local 8 // double x0p
        start local 10 // double y0p
        start local 12 // double x1p
        start local 14 // double y1p
        start local 16 // double[] m
         0: .line 394
            dload 4 /* x1 */
            dload 0 /* x0 */
            dsub
            dstore 17 /* x10 */
        start local 17 // double x10
         1: .line 395
            dload 6 /* y1 */
            dload 2 /* y0 */
            dsub
            dstore 19 /* y10 */
        start local 19 // double y10
         2: .line 396
            dload 12 /* x1p */
            dload 8 /* x0p */
            dsub
            dstore 21 /* x10p */
        start local 21 // double x10p
         3: .line 397
            dload 14 /* y1p */
            dload 10 /* y0p */
            dsub
            dstore 23 /* y10p */
        start local 23 // double y10p
         4: .line 408
            dload 17 /* x10 */
            dload 23 /* y10p */
            dmul
            dload 21 /* x10p */
            dload 19 /* y10 */
            dmul
            dsub
            dstore 25 /* den */
        start local 25 // double den
         5: .line 409
            dload 21 /* x10p */
            dload 2 /* y0 */
            dload 10 /* y0p */
            dsub
            dmul
            dload 23 /* y10p */
            dload 0 /* x0 */
            dload 8 /* x0p */
            dsub
            dmul
            dsub
            dstore 27 /* t */
        start local 27 // double t
         6: .line 410
            dload 27 /* t */
            dload 25 /* den */
            ddiv
            dstore 27 /* t */
         7: .line 411
            aload 16 /* m */
            iconst_0
            dload 0 /* x0 */
            dload 27 /* t */
            dload 17 /* x10 */
            dmul
            dadd
            dastore
         8: .line 412
            aload 16 /* m */
            iconst_1
            dload 2 /* y0 */
            dload 27 /* t */
            dload 19 /* y10 */
            dmul
            dadd
            dastore
         9: .line 413
            return
        end local 27 // double t
        end local 25 // double den
        end local 23 // double y10p
        end local 21 // double x10p
        end local 19 // double y10
        end local 17 // double x10
        end local 16 // double[] m
        end local 14 // double y1p
        end local 12 // double x1p
        end local 10 // double y0p
        end local 8 // double x0p
        end local 6 // double y1
        end local 4 // double x1
        end local 2 // double y0
        end local 0 // double x0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0    x0  D
            0   10     2    y0  D
            0   10     4    x1  D
            0   10     6    y1  D
            0   10     8   x0p  D
            0   10    10   y0p  D
            0   10    12   x1p  D
            0   10    14   y1p  D
            0   10    16     m  [D
            1   10    17   x10  D
            2   10    19   y10  D
            3   10    21  x10p  D
            4   10    23  y10p  D
            5   10    25   den  D
            6   10    27     t  D
    MethodParameters:
      Name  Flags
      x0    final
      y0    final
      x1    final
      y1    final
      x0p   final
      y0p   final
      x1p   final
      y1p   final
      m     final

  private static void safeComputeMiter(double, double, double, double, double, double, double, double, double[]);
    descriptor: (DDDDDDDD[D)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=29, args_size=9
        start local 0 // double x0
        start local 2 // double y0
        start local 4 // double x1
        start local 6 // double y1
        start local 8 // double x0p
        start local 10 // double y0p
        start local 12 // double x1p
        start local 14 // double y1p
        start local 16 // double[] m
         0: .line 423
            dload 4 /* x1 */
            dload 0 /* x0 */
            dsub
            dstore 17 /* x10 */
        start local 17 // double x10
         1: .line 424
            dload 6 /* y1 */
            dload 2 /* y0 */
            dsub
            dstore 19 /* y10 */
        start local 19 // double y10
         2: .line 425
            dload 12 /* x1p */
            dload 8 /* x0p */
            dsub
            dstore 21 /* x10p */
        start local 21 // double x10p
         3: .line 426
            dload 14 /* y1p */
            dload 10 /* y0p */
            dsub
            dstore 23 /* y10p */
        start local 23 // double y10p
         4: .line 437
            dload 17 /* x10 */
            dload 23 /* y10p */
            dmul
            dload 21 /* x10p */
            dload 19 /* y10 */
            dmul
            dsub
            dstore 25 /* den */
        start local 25 // double den
         5: .line 438
            dload 25 /* den */
            dconst_0
            dcmpl
            ifne 9
         6: .line 439
            aload 16 /* m */
            iconst_2
            dload 0 /* x0 */
            dload 8 /* x0p */
            dadd
            ldc 2.0
            ddiv
            dastore
         7: .line 440
            aload 16 /* m */
            iconst_3
            dload 2 /* y0 */
            dload 10 /* y0p */
            dadd
            ldc 2.0
            ddiv
            dastore
         8: .line 441
            goto 13
         9: .line 442
      StackMap locals: double double double double double double double double double[] double double double double double
      StackMap stack:
            dload 21 /* x10p */
            dload 2 /* y0 */
            dload 10 /* y0p */
            dsub
            dmul
            dload 23 /* y10p */
            dload 0 /* x0 */
            dload 8 /* x0p */
            dsub
            dmul
            dsub
            dstore 27 /* t */
        start local 27 // double t
        10: .line 443
            dload 27 /* t */
            dload 25 /* den */
            ddiv
            dstore 27 /* t */
        11: .line 444
            aload 16 /* m */
            iconst_2
            dload 0 /* x0 */
            dload 27 /* t */
            dload 17 /* x10 */
            dmul
            dadd
            dastore
        12: .line 445
            aload 16 /* m */
            iconst_3
            dload 2 /* y0 */
            dload 27 /* t */
            dload 19 /* y10 */
            dmul
            dadd
            dastore
        end local 27 // double t
        13: .line 447
      StackMap locals:
      StackMap stack:
            return
        end local 25 // double den
        end local 23 // double y10p
        end local 21 // double x10p
        end local 19 // double y10
        end local 17 // double x10
        end local 16 // double[] m
        end local 14 // double y1p
        end local 12 // double x1p
        end local 10 // double y0p
        end local 8 // double x0p
        end local 6 // double y1
        end local 4 // double x1
        end local 2 // double y0
        end local 0 // double x0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0    x0  D
            0   14     2    y0  D
            0   14     4    x1  D
            0   14     6    y1  D
            0   14     8   x0p  D
            0   14    10   y0p  D
            0   14    12   x1p  D
            0   14    14   y1p  D
            0   14    16     m  [D
            1   14    17   x10  D
            2   14    19   y10  D
            3   14    21  x10p  D
            4   14    23  y10p  D
            5   14    25   den  D
           10   13    27     t  D
    MethodParameters:
      Name  Flags
      x0    final
      y0    final
      x1    final
      y1    final
      x0p   final
      y0p   final
      x1p   final
      y1p   final
      m     final

  private void drawMiter(double, double, double, double, double, double, double, double, double, double, boolean);
    descriptor: (DDDDDDDDDDZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=18, locals=28, args_size=12
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double pdx
        start local 3 // double pdy
        start local 5 // double x0
        start local 7 // double y0
        start local 9 // double dx
        start local 11 // double dy
        start local 13 // double omx
        start local 15 // double omy
        start local 17 // double mx
        start local 19 // double my
        start local 21 // boolean rev
         0: .line 456
            dload 17 /* mx */
            dload 13 /* omx */
            dcmpl
            ifne 1
            dload 19 /* my */
            dload 15 /* omy */
            dcmpl
            ifeq 3
         1: .line 457
      StackMap locals:
      StackMap stack:
            dload 1 /* pdx */
            dconst_0
            dcmpl
            ifne 2
            dload 3 /* pdy */
            dconst_0
            dcmpl
            ifeq 3
         2: .line 458
      StackMap locals:
      StackMap stack:
            dload 9 /* dx */
            dconst_0
            dcmpl
            ifne 4
            dload 11 /* dy */
            dconst_0
            dcmpl
            ifne 4
         3: .line 460
      StackMap locals:
      StackMap stack:
            return
         4: .line 463
      StackMap locals:
      StackMap stack:
            iload 21 /* rev */
            ifeq 9
         5: .line 464
            dload 13 /* omx */
            dneg
            dstore 13 /* omx */
         6: .line 465
            dload 15 /* omy */
            dneg
            dstore 15 /* omy */
         7: .line 466
            dload 17 /* mx */
            dneg
            dstore 17 /* mx */
         8: .line 467
            dload 19 /* my */
            dneg
            dstore 19 /* my */
         9: .line 470
      StackMap locals:
      StackMap stack:
            dload 5 /* x0 */
            dload 1 /* pdx */
            dsub
            dload 13 /* omx */
            dadd
            dload 7 /* y0 */
            dload 3 /* pdy */
            dsub
            dload 15 /* omy */
            dadd
            dload 5 /* x0 */
            dload 13 /* omx */
            dadd
            dload 7 /* y0 */
            dload 15 /* omy */
            dadd
        10: .line 471
            dload 9 /* dx */
            dload 5 /* x0 */
            dadd
            dload 17 /* mx */
            dadd
            dload 11 /* dy */
            dload 7 /* y0 */
            dadd
            dload 19 /* my */
            dadd
            dload 5 /* x0 */
            dload 17 /* mx */
            dadd
            dload 7 /* y0 */
            dload 19 /* my */
            dadd
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.miter:[D
        11: .line 470
            invokestatic com.sun.marlin.DStroker.computeMiter:(DDDDDDDD[D)V
        12: .line 473
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.miter:[D
            iconst_0
            daload
            dstore 22 /* miterX */
        start local 22 // double miterX
        13: .line 474
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.miter:[D
            iconst_1
            daload
            dstore 24 /* miterY */
        start local 24 // double miterY
        14: .line 475
            dload 22 /* miterX */
            dload 5 /* x0 */
            dsub
            dload 22 /* miterX */
            dload 5 /* x0 */
            dsub
            dmul
            dload 24 /* miterY */
            dload 7 /* y0 */
            dsub
            dload 24 /* miterY */
            dload 7 /* y0 */
            dsub
            dmul
            dadd
            dstore 26 /* lenSq */
        start local 26 // double lenSq
        15: .line 482
            dload 26 /* lenSq */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.miterLimitSq:D
            dcmpg
            ifge 17
        16: .line 483
            aload 0 /* this */
            dload 22 /* miterX */
            dload 24 /* miterY */
            iload 21 /* rev */
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DDZ)V
        17: .line 485
      StackMap locals: double double double
      StackMap stack:
            return
        end local 26 // double lenSq
        end local 24 // double miterY
        end local 22 // double miterX
        end local 21 // boolean rev
        end local 19 // double my
        end local 17 // double mx
        end local 15 // double omy
        end local 13 // double omx
        end local 11 // double dy
        end local 9 // double dx
        end local 7 // double y0
        end local 5 // double x0
        end local 3 // double pdy
        end local 1 // double pdx
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Lcom/sun/marlin/DStroker;
            0   18     1     pdx  D
            0   18     3     pdy  D
            0   18     5      x0  D
            0   18     7      y0  D
            0   18     9      dx  D
            0   18    11      dy  D
            0   18    13     omx  D
            0   18    15     omy  D
            0   18    17      mx  D
            0   18    19      my  D
            0   18    21     rev  Z
           13   18    22  miterX  D
           14   18    24  miterY  D
           15   18    26   lenSq  D
    MethodParameters:
      Name  Flags
      pdx   final
      pdy   final
      x0    final
      y0    final
      dx    final
      dy    final
      omx   
      omy   
      mx    
      my    
      rev   

  public void moveTo(double, double);
    descriptor: (DD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x0
        start local 3 // double y0
         0: .line 489
            aload 0 /* this */
            dload 1 /* x0 */
            dload 3 /* y0 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cOutCode:I
            invokevirtual com.sun.marlin.DStroker._moveTo:(DDI)V
         1: .line 491
            aload 0 /* this */
            dload 1 /* x0 */
            putfield com.sun.marlin.DStroker.sx0:D
         2: .line 492
            aload 0 /* this */
            dload 3 /* y0 */
            putfield com.sun.marlin.DStroker.sy0:D
         3: .line 493
            aload 0 /* this */
            dconst_1
            putfield com.sun.marlin.DStroker.sdx:D
         4: .line 494
            aload 0 /* this */
            dconst_0
            putfield com.sun.marlin.DStroker.sdy:D
         5: .line 495
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.opened:Z
         6: .line 496
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.capStart:Z
         7: .line 498
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            ifnull 11
         8: .line 499
            dload 1 /* x0 */
            dload 3 /* y0 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            invokestatic com.sun.marlin.DHelpers.outcode:(DD[D)I
            istore 5 /* outcode */
        start local 5 // int outcode
         9: .line 500
            aload 0 /* this */
            iload 5 /* outcode */
            putfield com.sun.marlin.DStroker.cOutCode:I
        10: .line 501
            aload 0 /* this */
            iload 5 /* outcode */
            putfield com.sun.marlin.DStroker.sOutCode:I
        end local 5 // int outcode
        11: .line 503
      StackMap locals:
      StackMap stack:
            return
        end local 3 // double y0
        end local 1 // double x0
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lcom/sun/marlin/DStroker;
            0   12     1       x0  D
            0   12     3       y0  D
            9   11     5  outcode  I
    MethodParameters:
      Name  Flags
      x0    final
      y0    final

  private void _moveTo(double, double, int);
    descriptor: (DDI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x0
        start local 3 // double y0
        start local 5 // int outcode
         0: .line 508
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.prev:I
            ifne 4
         1: .line 509
            aload 0 /* this */
            dload 1 /* x0 */
            putfield com.sun.marlin.DStroker.cx0:D
         2: .line 510
            aload 0 /* this */
            dload 3 /* y0 */
            putfield com.sun.marlin.DStroker.cy0:D
         3: .line 511
            goto 11
         4: .line 512
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.prev:I
            iconst_1
            if_icmpne 6
         5: .line 513
            aload 0 /* this */
            iload 5 /* outcode */
            invokevirtual com.sun.marlin.DStroker.finish:(I)V
         6: .line 515
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.prev:I
         7: .line 516
            aload 0 /* this */
            dload 1 /* x0 */
            putfield com.sun.marlin.DStroker.cx0:D
         8: .line 517
            aload 0 /* this */
            dload 3 /* y0 */
            putfield com.sun.marlin.DStroker.cy0:D
         9: .line 518
            aload 0 /* this */
            dconst_1
            putfield com.sun.marlin.DStroker.cdx:D
        10: .line 519
            aload 0 /* this */
            dconst_0
            putfield com.sun.marlin.DStroker.cdy:D
        11: .line 521
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int outcode
        end local 3 // double y0
        end local 1 // double x0
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lcom/sun/marlin/DStroker;
            0   12     1       x0  D
            0   12     3       y0  D
            0   12     5  outcode  I
    MethodParameters:
         Name  Flags
      x0       final
      y0       final
      outcode  final

  public void lineTo(double, double);
    descriptor: (DD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
         0: .line 525
            aload 0 /* this */
            dload 1 /* x1 */
            dload 3 /* y1 */
            iconst_0
            invokevirtual com.sun.marlin.DStroker.lineTo:(DDZ)V
         1: .line 526
            return
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DStroker;
            0    2     1    x1  D
            0    2     3    y1  D
    MethodParameters:
      Name  Flags
      x1    final
      y1    final

  private void lineTo(double, double, boolean);
    descriptor: (DDZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=22, locals=15, args_size=4
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
        start local 5 // boolean force
         0: .line 531
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cOutCode:I
            istore 6 /* outcode0 */
        start local 6 // int outcode0
         1: .line 533
            iload 5 /* force */
            ifne 20
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            ifnull 20
         2: .line 534
            dload 1 /* x1 */
            dload 3 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            invokestatic com.sun.marlin.DHelpers.outcode:(DD[D)I
            istore 7 /* outcode1 */
        start local 7 // int outcode1
         3: .line 537
            iload 6 /* outcode0 */
            iload 7 /* outcode1 */
            ior
            istore 8 /* orCode */
        start local 8 // int orCode
         4: .line 538
            iload 8 /* orCode */
            ifeq 19
         5: .line 539
            iload 6 /* outcode0 */
            iload 7 /* outcode1 */
            iand
            istore 9 /* sideCode */
        start local 9 // int sideCode
         6: .line 542
            iload 9 /* sideCode */
            ifne 15
         7: .line 544
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.subdivide:Z
            ifeq 19
         8: .line 546
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.subdivide:Z
         9: .line 548
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.curveSplitter:Lcom/sun/marlin/DTransformingPathConsumer2D$CurveClipSplitter;
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dload 1 /* x1 */
            dload 3 /* y1 */
        10: .line 549
            iload 8 /* orCode */
            aload 0 /* this */
        11: .line 548
            invokevirtual com.sun.marlin.DTransformingPathConsumer2D$CurveClipSplitter.splitLine:(DDDDILcom/sun/marlin/DPathConsumer2D;)Z
            istore 10 /* ret */
        start local 10 // boolean ret
        12: .line 551
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DStroker.subdivide:Z
        13: .line 552
            iload 10 /* ret */
            ifeq 19
        14: .line 553
            return
        end local 10 // boolean ret
        15: .line 558
      StackMap locals: com.sun.marlin.DStroker double double int int int int int
      StackMap stack:
            aload 0 /* this */
            iload 7 /* outcode1 */
            putfield com.sun.marlin.DStroker.cOutCode:I
        16: .line 559
            aload 0 /* this */
            dload 1 /* x1 */
            dload 3 /* y1 */
            iload 6 /* outcode0 */
            invokevirtual com.sun.marlin.DStroker._moveTo:(DDI)V
        17: .line 560
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DStroker.opened:Z
        18: .line 561
            return
        end local 9 // int sideCode
        19: .line 565
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* outcode1 */
            putfield com.sun.marlin.DStroker.cOutCode:I
        end local 8 // int orCode
        end local 7 // int outcode1
        20: .line 568
      StackMap locals:
      StackMap stack:
            dload 1 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            dsub
            dstore 7 /* dx */
        start local 7 // double dx
        21: .line 569
            dload 3 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dsub
            dstore 9 /* dy */
        start local 9 // double dy
        22: .line 570
            dload 7 /* dx */
            dconst_0
            dcmpl
            ifne 24
            dload 9 /* dy */
            dconst_0
            dcmpl
            ifne 24
        23: .line 571
            dconst_1
            dstore 7 /* dx */
        24: .line 573
      StackMap locals: double double
      StackMap stack:
            dload 7 /* dx */
            dload 9 /* dy */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            invokestatic com.sun.marlin.DStroker.computeOffset:(DDD[D)V
        25: .line 574
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_0
            daload
            dstore 11 /* mx */
        start local 11 // double mx
        26: .line 575
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_1
            daload
            dstore 13 /* my */
        start local 13 // double my
        27: .line 577
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cdx:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cdy:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dload 7 /* dx */
            dload 9 /* dy */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmx:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmy:D
            dload 11 /* mx */
            dload 13 /* my */
            iload 6 /* outcode0 */
            invokevirtual com.sun.marlin.DStroker.drawJoin:(DDDDDDDDDDI)V
        28: .line 579
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            dload 11 /* mx */
            dadd
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dload 13 /* my */
            dadd
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
        29: .line 580
            aload 0 /* this */
            dload 1 /* x1 */
            dload 11 /* mx */
            dadd
            dload 3 /* y1 */
            dload 13 /* my */
            dadd
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
        30: .line 582
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            dload 11 /* mx */
            dsub
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dload 13 /* my */
            dsub
            invokevirtual com.sun.marlin.DStroker.emitLineToRev:(DD)V
        31: .line 583
            aload 0 /* this */
            dload 1 /* x1 */
            dload 11 /* mx */
            dsub
            dload 3 /* y1 */
            dload 13 /* my */
            dsub
            invokevirtual com.sun.marlin.DStroker.emitLineToRev:(DD)V
        32: .line 585
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DStroker.prev:I
        33: .line 586
            aload 0 /* this */
            dload 1 /* x1 */
            putfield com.sun.marlin.DStroker.cx0:D
        34: .line 587
            aload 0 /* this */
            dload 3 /* y1 */
            putfield com.sun.marlin.DStroker.cy0:D
        35: .line 588
            aload 0 /* this */
            dload 7 /* dx */
            putfield com.sun.marlin.DStroker.cdx:D
        36: .line 589
            aload 0 /* this */
            dload 9 /* dy */
            putfield com.sun.marlin.DStroker.cdy:D
        37: .line 590
            aload 0 /* this */
            dload 11 /* mx */
            putfield com.sun.marlin.DStroker.cmx:D
        38: .line 591
            aload 0 /* this */
            dload 13 /* my */
            putfield com.sun.marlin.DStroker.cmy:D
        39: .line 592
            return
        end local 13 // double my
        end local 11 // double mx
        end local 9 // double dy
        end local 7 // double dx
        end local 6 // int outcode0
        end local 5 // boolean force
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   40     0      this  Lcom/sun/marlin/DStroker;
            0   40     1        x1  D
            0   40     3        y1  D
            0   40     5     force  Z
            1   40     6  outcode0  I
            3   20     7  outcode1  I
            4   20     8    orCode  I
            6   19     9  sideCode  I
           12   15    10       ret  Z
           21   40     7        dx  D
           22   40     9        dy  D
           26   40    11        mx  D
           27   40    13        my  D
    MethodParameters:
       Name  Flags
      x1     final
      y1     final
      force  final

  public void closePath();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=22, locals=1, args_size=1
        start local 0 // com.sun.marlin.DStroker this
         0: .line 597
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.prev:I
            iconst_1
            if_icmpeq 14
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.opened:Z
            ifne 14
         1: .line 598
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.prev:I
            iconst_2
            if_icmpne 3
         2: .line 599
            return
         3: .line 601
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            dsub
            invokevirtual com.sun.marlin.DStroker.emitMoveTo:(DD)V
         4: .line 603
            aload 0 /* this */
            dconst_1
            putfield com.sun.marlin.DStroker.sdx:D
         5: .line 604
            aload 0 /* this */
            dconst_0
            putfield com.sun.marlin.DStroker.sdy:D
         6: .line 605
            aload 0 /* this */
            dconst_1
            putfield com.sun.marlin.DStroker.cdx:D
         7: .line 606
            aload 0 /* this */
            dconst_0
            putfield com.sun.marlin.DStroker.cdy:D
         8: .line 608
            aload 0 /* this */
            dconst_0
            putfield com.sun.marlin.DStroker.smx:D
         9: .line 609
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            dneg
            putfield com.sun.marlin.DStroker.smy:D
        10: .line 610
            aload 0 /* this */
            dconst_0
            putfield com.sun.marlin.DStroker.cmx:D
        11: .line 611
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            dneg
            putfield com.sun.marlin.DStroker.cmy:D
        12: .line 613
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cOutCode:I
            invokevirtual com.sun.marlin.DStroker.finish:(I)V
        13: .line 614
            return
        14: .line 618
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sOutCode:I
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cOutCode:I
            iand
            ifne 23
        15: .line 619
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sx0:D
            dcmpl
            ifne 16
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sy0:D
            dcmpl
            ifeq 17
        16: .line 620
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sy0:D
            iconst_1
            invokevirtual com.sun.marlin.DStroker.lineTo:(DDZ)V
        17: .line 623
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cdx:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cdy:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sdx:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sdy:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmx:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmy:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smx:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smy:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sOutCode:I
            invokevirtual com.sun.marlin.DStroker.drawJoin:(DDDDDDDDDDI)V
        18: .line 625
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smx:D
            dadd
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smy:D
            dadd
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
        19: .line 627
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.opened:Z
            ifeq 22
        20: .line 628
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smx:D
            dsub
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smy:D
            dsub
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
        21: .line 629
            goto 23
        22: .line 630
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smx:D
            dsub
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smy:D
            dsub
            invokevirtual com.sun.marlin.DStroker.emitMoveTo:(DD)V
        23: .line 634
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.marlin.DStroker.emitReverse:()V
        24: .line 636
            aload 0 /* this */
            iconst_2
            putfield com.sun.marlin.DStroker.prev:I
        25: .line 637
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sx0:D
            putfield com.sun.marlin.DStroker.cx0:D
        26: .line 638
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sy0:D
            putfield com.sun.marlin.DStroker.cy0:D
        27: .line 639
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sOutCode:I
            putfield com.sun.marlin.DStroker.cOutCode:I
        28: .line 641
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.opened:Z
            ifeq 31
        29: .line 643
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.opened:Z
        30: .line 644
            goto 32
        31: .line 645
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.marlin.DStroker.emitClose:()V
        32: .line 647
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   33     0  this  Lcom/sun/marlin/DStroker;

  private void emitReverse();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.marlin.DStroker this
         0: .line 650
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.reverse:Lcom/sun/marlin/DHelpers$PolyStack;
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.out:Lcom/sun/marlin/DPathConsumer2D;
            invokevirtual com.sun.marlin.DHelpers$PolyStack.popAll:(Lcom/sun/marlin/DPathConsumer2D;)V
         1: .line 651
            return
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DStroker;

  public void pathDone();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.marlin.DStroker this
         0: .line 655
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.prev:I
            iconst_1
            if_icmpne 2
         1: .line 656
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cOutCode:I
            invokevirtual com.sun.marlin.DStroker.finish:(I)V
         2: .line 659
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.out:Lcom/sun/marlin/DPathConsumer2D;
            invokeinterface com.sun.marlin.DPathConsumer2D.pathDone:()V
         3: .line 663
            aload 0 /* this */
            iconst_2
            putfield com.sun.marlin.DStroker.prev:I
         4: .line 666
            aload 0 /* this */
            invokevirtual com.sun.marlin.DStroker.dispose:()V
         5: .line 667
            return
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/marlin/DStroker;

  private void finish(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // int outcode
         0: .line 674
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.rdrCtx:Lcom/sun/marlin/DRendererContext;
            getfield com.sun.marlin.DRendererContext.closedPath:Z
            ifeq 3
         1: .line 675
            aload 0 /* this */
            invokevirtual com.sun.marlin.DStroker.emitReverse:()V
         2: .line 676
            goto 20
         3: .line 677
      StackMap locals:
      StackMap stack:
            iload 1 /* outcode */
            ifne 10
         4: .line 679
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.capStyle:I
            iconst_1
            if_icmpne 7
         5: .line 680
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmx:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmy:D
            invokevirtual com.sun.marlin.DStroker.drawRoundCap:(DDDD)V
         6: .line 681
            goto 10
      StackMap locals:
      StackMap stack:
         7: aload 0 /* this */
            getfield com.sun.marlin.DStroker.capStyle:I
            iconst_2
            if_icmpne 10
         8: .line 682
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmy:D
            dsub
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmx:D
            dadd
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmx:D
            dadd
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmy:D
            dadd
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
         9: .line 683
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmy:D
            dsub
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmx:D
            dsub
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmx:D
            dadd
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmy:D
            dsub
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
        10: .line 686
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.marlin.DStroker.emitReverse:()V
        11: .line 688
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.capStart:Z
            ifne 20
        12: .line 689
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DStroker.capStart:Z
        13: .line 691
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sOutCode:I
            ifne 20
        14: .line 693
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.capStyle:I
            iconst_1
            if_icmpne 17
        15: .line 694
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smx:D
            dneg
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smy:D
            dneg
            invokevirtual com.sun.marlin.DStroker.drawRoundCap:(DDDD)V
        16: .line 695
            goto 20
      StackMap locals:
      StackMap stack:
        17: aload 0 /* this */
            getfield com.sun.marlin.DStroker.capStyle:I
            iconst_2
            if_icmpne 20
        18: .line 696
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smy:D
            dadd
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smx:D
            dsub
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smx:D
            dsub
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smy:D
            dsub
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
        19: .line 697
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smy:D
            dadd
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smx:D
            dadd
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smx:D
            dsub
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smy:D
            dadd
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
        20: .line 702
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.marlin.DStroker.emitClose:()V
        21: .line 703
            return
        end local 1 // int outcode
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0     this  Lcom/sun/marlin/DStroker;
            0   22     1  outcode  I
    MethodParameters:
         Name  Flags
      outcode  final

  private void emitMoveTo(double, double);
    descriptor: (DD)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x0
        start local 3 // double y0
         0: .line 706
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.out:Lcom/sun/marlin/DPathConsumer2D;
            dload 1 /* x0 */
            dload 3 /* y0 */
            invokeinterface com.sun.marlin.DPathConsumer2D.moveTo:(DD)V
         1: .line 707
            return
        end local 3 // double y0
        end local 1 // double x0
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DStroker;
            0    2     1    x0  D
            0    2     3    y0  D
    MethodParameters:
      Name  Flags
      x0    final
      y0    final

  private void emitLineTo(double, double);
    descriptor: (DD)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
         0: .line 710
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.out:Lcom/sun/marlin/DPathConsumer2D;
            dload 1 /* x1 */
            dload 3 /* y1 */
            invokeinterface com.sun.marlin.DPathConsumer2D.lineTo:(DD)V
         1: .line 711
            return
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DStroker;
            0    2     1    x1  D
            0    2     3    y1  D
    MethodParameters:
      Name  Flags
      x1    final
      y1    final

  private void emitLineToRev(double, double);
    descriptor: (DD)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
         0: .line 714
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.reverse:Lcom/sun/marlin/DHelpers$PolyStack;
            dload 1 /* x1 */
            dload 3 /* y1 */
            invokevirtual com.sun.marlin.DHelpers$PolyStack.pushLine:(DD)V
         1: .line 715
            return
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DStroker;
            0    2     1    x1  D
            0    2     3    y1  D
    MethodParameters:
      Name  Flags
      x1    final
      y1    final

  private void emitLineTo(double, double, boolean);
    descriptor: (DDZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
        start local 5 // boolean rev
         0: .line 720
            iload 5 /* rev */
            ifeq 3
         1: .line 721
            aload 0 /* this */
            dload 1 /* x1 */
            dload 3 /* y1 */
            invokevirtual com.sun.marlin.DStroker.emitLineToRev:(DD)V
         2: .line 722
            goto 4
         3: .line 723
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 1 /* x1 */
            dload 3 /* y1 */
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
         4: .line 725
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean rev
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/marlin/DStroker;
            0    5     1    x1  D
            0    5     3    y1  D
            0    5     5   rev  Z
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      rev   final

  private void emitQuadTo(double, double, double, double);
    descriptor: (DDDD)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=9, args_size=5
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
        start local 5 // double x2
        start local 7 // double y2
         0: .line 730
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.out:Lcom/sun/marlin/DPathConsumer2D;
            dload 1 /* x1 */
            dload 3 /* y1 */
            dload 5 /* x2 */
            dload 7 /* y2 */
            invokeinterface com.sun.marlin.DPathConsumer2D.quadTo:(DDDD)V
         1: .line 731
            return
        end local 7 // double y2
        end local 5 // double x2
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DStroker;
            0    2     1    x1  D
            0    2     3    y1  D
            0    2     5    x2  D
            0    2     7    y2  D
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      x2    final
      y2    final

  private void emitQuadToRev(double, double, double, double);
    descriptor: (DDDD)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=9, args_size=5
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x0
        start local 3 // double y0
        start local 5 // double x1
        start local 7 // double y1
         0: .line 736
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.reverse:Lcom/sun/marlin/DHelpers$PolyStack;
            dload 1 /* x0 */
            dload 3 /* y0 */
            dload 5 /* x1 */
            dload 7 /* y1 */
            invokevirtual com.sun.marlin.DHelpers$PolyStack.pushQuad:(DDDD)V
         1: .line 737
            return
        end local 7 // double y1
        end local 5 // double x1
        end local 3 // double y0
        end local 1 // double x0
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DStroker;
            0    2     1    x0  D
            0    2     3    y0  D
            0    2     5    x1  D
            0    2     7    y1  D
    MethodParameters:
      Name  Flags
      x0    final
      y0    final
      x1    final
      y1    final

  private void emitCurveTo(double, double, double, double, double, double);
    descriptor: (DDDDDD)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=13, args_size=7
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
        start local 5 // double x2
        start local 7 // double y2
        start local 9 // double x3
        start local 11 // double y3
         0: .line 743
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.out:Lcom/sun/marlin/DPathConsumer2D;
            dload 1 /* x1 */
            dload 3 /* y1 */
            dload 5 /* x2 */
            dload 7 /* y2 */
            dload 9 /* x3 */
            dload 11 /* y3 */
            invokeinterface com.sun.marlin.DPathConsumer2D.curveTo:(DDDDDD)V
         1: .line 744
            return
        end local 11 // double y3
        end local 9 // double x3
        end local 7 // double y2
        end local 5 // double x2
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DStroker;
            0    2     1    x1  D
            0    2     3    y1  D
            0    2     5    x2  D
            0    2     7    y2  D
            0    2     9    x3  D
            0    2    11    y3  D
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      x2    final
      y2    final
      x3    final
      y3    final

  private void emitCurveToRev(double, double, double, double, double, double);
    descriptor: (DDDDDD)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=13, args_size=7
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x0
        start local 3 // double y0
        start local 5 // double x1
        start local 7 // double y1
        start local 9 // double x2
        start local 11 // double y2
         0: .line 750
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.reverse:Lcom/sun/marlin/DHelpers$PolyStack;
            dload 1 /* x0 */
            dload 3 /* y0 */
            dload 5 /* x1 */
            dload 7 /* y1 */
            dload 9 /* x2 */
            dload 11 /* y2 */
            invokevirtual com.sun.marlin.DHelpers$PolyStack.pushCubic:(DDDDDD)V
         1: .line 751
            return
        end local 11 // double y2
        end local 9 // double x2
        end local 7 // double y1
        end local 5 // double x1
        end local 3 // double y0
        end local 1 // double x0
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DStroker;
            0    2     1    x0  D
            0    2     3    y0  D
            0    2     5    x1  D
            0    2     7    y1  D
            0    2     9    x2  D
            0    2    11    y2  D
    MethodParameters:
      Name  Flags
      x0    final
      y0    final
      x1    final
      y1    final
      x2    final
      y2    final

  private void emitCurveTo(double, double, double, double, double, double, double, double, boolean);
    descriptor: (DDDDDDDDZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=18, args_size=10
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x0
        start local 3 // double y0
        start local 5 // double x1
        start local 7 // double y1
        start local 9 // double x2
        start local 11 // double y2
        start local 13 // double x3
        start local 15 // double y3
        start local 17 // boolean rev
         0: .line 758
            iload 17 /* rev */
            ifeq 3
         1: .line 759
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.reverse:Lcom/sun/marlin/DHelpers$PolyStack;
            dload 1 /* x0 */
            dload 3 /* y0 */
            dload 5 /* x1 */
            dload 7 /* y1 */
            dload 9 /* x2 */
            dload 11 /* y2 */
            invokevirtual com.sun.marlin.DHelpers$PolyStack.pushCubic:(DDDDDD)V
         2: .line 760
            goto 4
         3: .line 761
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.out:Lcom/sun/marlin/DPathConsumer2D;
            dload 5 /* x1 */
            dload 7 /* y1 */
            dload 9 /* x2 */
            dload 11 /* y2 */
            dload 13 /* x3 */
            dload 15 /* y3 */
            invokeinterface com.sun.marlin.DPathConsumer2D.curveTo:(DDDDDD)V
         4: .line 763
      StackMap locals:
      StackMap stack:
            return
        end local 17 // boolean rev
        end local 15 // double y3
        end local 13 // double x3
        end local 11 // double y2
        end local 9 // double x2
        end local 7 // double y1
        end local 5 // double x1
        end local 3 // double y0
        end local 1 // double x0
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/marlin/DStroker;
            0    5     1    x0  D
            0    5     3    y0  D
            0    5     5    x1  D
            0    5     7    y1  D
            0    5     9    x2  D
            0    5    11    y2  D
            0    5    13    x3  D
            0    5    15    y3  D
            0    5    17   rev  Z
    MethodParameters:
      Name  Flags
      x0    final
      y0    final
      x1    final
      y1    final
      x2    final
      y2    final
      x3    final
      y3    final
      rev   final

  private void emitClose();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.marlin.DStroker this
         0: .line 766
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.out:Lcom/sun/marlin/DPathConsumer2D;
            invokeinterface com.sun.marlin.DPathConsumer2D.closePath:()V
         1: .line 767
            return
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DStroker;

  private void drawJoin(double, double, double, double, double, double, double, double, double, double, int);
    descriptor: (DDDDDDDDDDI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=22, locals=23, args_size=12
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double pdx
        start local 3 // double pdy
        start local 5 // double x0
        start local 7 // double y0
        start local 9 // double dx
        start local 11 // double dy
        start local 13 // double omx
        start local 15 // double omy
        start local 17 // double mx
        start local 19 // double my
        start local 21 // int outcode
         0: .line 776
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.prev:I
            iconst_1
            if_icmpeq 8
         1: .line 777
            aload 0 /* this */
            dload 5 /* x0 */
            dload 17 /* mx */
            dadd
            dload 7 /* y0 */
            dload 19 /* my */
            dadd
            invokevirtual com.sun.marlin.DStroker.emitMoveTo:(DD)V
         2: .line 778
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.opened:Z
            ifne 18
         3: .line 779
            aload 0 /* this */
            dload 9 /* dx */
            putfield com.sun.marlin.DStroker.sdx:D
         4: .line 780
            aload 0 /* this */
            dload 11 /* dy */
            putfield com.sun.marlin.DStroker.sdy:D
         5: .line 781
            aload 0 /* this */
            dload 17 /* mx */
            putfield com.sun.marlin.DStroker.smx:D
         6: .line 782
            aload 0 /* this */
            dload 19 /* my */
            putfield com.sun.marlin.DStroker.smy:D
         7: .line 784
            goto 18
         8: .line 785
      StackMap locals:
      StackMap stack:
            dload 1 /* pdx */
            dload 3 /* pdy */
            dload 9 /* dx */
            dload 11 /* dy */
            invokestatic com.sun.marlin.DStroker.isCW:(DDDD)Z
            istore 22 /* cw */
        start local 22 // boolean cw
         9: .line 786
            iload 21 /* outcode */
            ifne 15
        10: .line 787
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.joinStyle:I
            ifne 13
        11: .line 788
            aload 0 /* this */
            dload 1 /* pdx */
            dload 3 /* pdy */
            dload 5 /* x0 */
            dload 7 /* y0 */
            dload 9 /* dx */
            dload 11 /* dy */
            dload 13 /* omx */
            dload 15 /* omy */
            dload 17 /* mx */
            dload 19 /* my */
            iload 22 /* cw */
            invokevirtual com.sun.marlin.DStroker.drawMiter:(DDDDDDDDDDZ)V
        12: .line 789
            goto 15
      StackMap locals: int
      StackMap stack:
        13: aload 0 /* this */
            getfield com.sun.marlin.DStroker.joinStyle:I
            iconst_1
            if_icmpne 15
        14: .line 790
            aload 0 /* this */
            dload 5 /* x0 */
            dload 7 /* y0 */
            dload 13 /* omx */
            dload 15 /* omy */
            dload 17 /* mx */
            dload 19 /* my */
            iload 22 /* cw */
            invokevirtual com.sun.marlin.DStroker.mayDrawRoundJoin:(DDDDDDZ)V
        15: .line 793
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 5 /* x0 */
            dload 7 /* y0 */
            iload 22 /* cw */
            ifeq 16
            iconst_0
            goto 17
      StackMap locals: com.sun.marlin.DStroker double double double double double double double double double double int int
      StackMap stack: com.sun.marlin.DStroker double double
        16: iconst_1
      StackMap locals: com.sun.marlin.DStroker double double double double double double double double double double int int
      StackMap stack: com.sun.marlin.DStroker double double int
        17: invokevirtual com.sun.marlin.DStroker.emitLineTo:(DDZ)V
        end local 22 // boolean cw
        18: .line 795
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DStroker.prev:I
        19: .line 796
            return
        end local 21 // int outcode
        end local 19 // double my
        end local 17 // double mx
        end local 15 // double omy
        end local 13 // double omx
        end local 11 // double dy
        end local 9 // double dx
        end local 7 // double y0
        end local 5 // double x0
        end local 3 // double pdy
        end local 1 // double pdx
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     this  Lcom/sun/marlin/DStroker;
            0   20     1      pdx  D
            0   20     3      pdy  D
            0   20     5       x0  D
            0   20     7       y0  D
            0   20     9       dx  D
            0   20    11       dy  D
            0   20    13      omx  D
            0   20    15      omy  D
            0   20    17       mx  D
            0   20    19       my  D
            0   20    21  outcode  I
            9   18    22       cw  Z
    MethodParameters:
         Name  Flags
      pdx      
      pdy      
      x0       
      y0       
      dx       
      dy       
      omx      
      omy      
      mx       
      my       
      outcode  final

  private static boolean within(double, double, double, double, double);
    descriptor: (DDDDD)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=5
        start local 0 // double x1
        start local 2 // double y1
        start local 4 // double x2
        start local 6 // double y2
        start local 8 // double err
         0: .line 802
            getstatic com.sun.marlin.DStroker.$assertionsDisabled:Z
            ifne 1
            dload 8 /* err */
            dconst_0
            dcmpl
            ifgt 1
            new java.lang.AssertionError
            dup
            ldc ""
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 805
      StackMap locals:
      StackMap stack:
            dload 0 /* x1 */
            dload 4 /* x2 */
            dload 8 /* err */
            invokestatic com.sun.marlin.DHelpers.within:(DDD)Z
            ifeq 4
         2: .line 806
            dload 2 /* y1 */
            dload 6 /* y2 */
            dload 8 /* err */
            invokestatic com.sun.marlin.DHelpers.within:(DDD)Z
            ifeq 4
         3: .line 805
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 8 // double err
        end local 6 // double y2
        end local 4 // double x2
        end local 2 // double y1
        end local 0 // double x1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    x1  D
            0    5     2    y1  D
            0    5     4    x2  D
            0    5     6    y2  D
            0    5     8   err  D
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      x2    final
      y2    final
      err   final

  private void getLineOffsets(double, double, double, double, double[], double[]);
    descriptor: (DDDD[D[D)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=15, args_size=7
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
        start local 5 // double x2
        start local 7 // double y2
        start local 9 // double[] left
        start local 10 // double[] right
         0: .line 813
            dload 5 /* x2 */
            dload 1 /* x1 */
            dsub
            dload 7 /* y2 */
            dload 3 /* y1 */
            dsub
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            invokestatic com.sun.marlin.DStroker.computeOffset:(DDD[D)V
         1: .line 814
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_0
            daload
            dstore 11 /* mx */
        start local 11 // double mx
         2: .line 815
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_1
            daload
            dstore 13 /* my */
        start local 13 // double my
         3: .line 816
            aload 9 /* left */
            iconst_0
            dload 1 /* x1 */
            dload 11 /* mx */
            dadd
            dastore
         4: .line 817
            aload 9 /* left */
            iconst_1
            dload 3 /* y1 */
            dload 13 /* my */
            dadd
            dastore
         5: .line 818
            aload 9 /* left */
            iconst_2
            dload 5 /* x2 */
            dload 11 /* mx */
            dadd
            dastore
         6: .line 819
            aload 9 /* left */
            iconst_3
            dload 7 /* y2 */
            dload 13 /* my */
            dadd
            dastore
         7: .line 821
            aload 10 /* right */
            iconst_0
            dload 1 /* x1 */
            dload 11 /* mx */
            dsub
            dastore
         8: .line 822
            aload 10 /* right */
            iconst_1
            dload 3 /* y1 */
            dload 13 /* my */
            dsub
            dastore
         9: .line 823
            aload 10 /* right */
            iconst_2
            dload 5 /* x2 */
            dload 11 /* mx */
            dsub
            dastore
        10: .line 824
            aload 10 /* right */
            iconst_3
            dload 7 /* y2 */
            dload 13 /* my */
            dsub
            dastore
        11: .line 825
            return
        end local 13 // double my
        end local 11 // double mx
        end local 10 // double[] right
        end local 9 // double[] left
        end local 7 // double y2
        end local 5 // double x2
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lcom/sun/marlin/DStroker;
            0   12     1     x1  D
            0   12     3     y1  D
            0   12     5     x2  D
            0   12     7     y2  D
            0   12     9   left  [D
            0   12    10  right  [D
            2   12    11     mx  D
            3   12    13     my  D
    MethodParameters:
       Name  Flags
      x1     final
      y1     final
      x2     final
      y2     final
      left   final
      right  final

  private int computeOffsetCubic(double[], int, double[], double[]);
    descriptor: ([DI[D[D)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=75, args_size=5
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double[] pts
        start local 2 // int off
        start local 3 // double[] leftOff
        start local 4 // double[] rightOff
         0: .line 838
            aload 1 /* pts */
            iload 2 /* off */
            daload
            dstore 5 /* x1 */
        start local 5 // double x1
         1: aload 1 /* pts */
            iload 2 /* off */
            iconst_1
            iadd
            daload
            dstore 7 /* y1 */
        start local 7 // double y1
         2: .line 839
            aload 1 /* pts */
            iload 2 /* off */
            iconst_2
            iadd
            daload
            dstore 9 /* x2 */
        start local 9 // double x2
         3: aload 1 /* pts */
            iload 2 /* off */
            iconst_3
            iadd
            daload
            dstore 11 /* y2 */
        start local 11 // double y2
         4: .line 840
            aload 1 /* pts */
            iload 2 /* off */
            iconst_4
            iadd
            daload
            dstore 13 /* x3 */
        start local 13 // double x3
         5: aload 1 /* pts */
            iload 2 /* off */
            iconst_5
            iadd
            daload
            dstore 15 /* y3 */
        start local 15 // double y3
         6: .line 841
            aload 1 /* pts */
            iload 2 /* off */
            bipush 6
            iadd
            daload
            dstore 17 /* x4 */
        start local 17 // double x4
         7: aload 1 /* pts */
            iload 2 /* off */
            bipush 7
            iadd
            daload
            dstore 19 /* y4 */
        start local 19 // double y4
         8: .line 843
            dload 17 /* x4 */
            dload 13 /* x3 */
            dsub
            dstore 21 /* dx4 */
        start local 21 // double dx4
         9: .line 844
            dload 19 /* y4 */
            dload 15 /* y3 */
            dsub
            dstore 23 /* dy4 */
        start local 23 // double dy4
        10: .line 845
            dload 9 /* x2 */
            dload 5 /* x1 */
            dsub
            dstore 25 /* dx1 */
        start local 25 // double dx1
        11: .line 846
            dload 11 /* y2 */
            dload 7 /* y1 */
            dsub
            dstore 27 /* dy1 */
        start local 27 // double dy1
        12: .line 850
            dload 5 /* x1 */
            dload 7 /* y1 */
            dload 9 /* x2 */
            dload 11 /* y2 */
            ldc 6.0
            dload 11 /* y2 */
            invokestatic java.lang.Math.ulp:(D)D
            dmul
            invokestatic com.sun.marlin.DStroker.within:(DDDDD)Z
            istore 29 /* p1eqp2 */
        start local 29 // boolean p1eqp2
        13: .line 851
            dload 13 /* x3 */
            dload 15 /* y3 */
            dload 17 /* x4 */
            dload 19 /* y4 */
            ldc 6.0
            dload 19 /* y4 */
            invokestatic java.lang.Math.ulp:(D)D
            dmul
            invokestatic com.sun.marlin.DStroker.within:(DDDDD)Z
            istore 30 /* p3eqp4 */
        start local 30 // boolean p3eqp4
        14: .line 853
            iload 29 /* p1eqp2 */
            ifeq 17
            iload 30 /* p3eqp4 */
            ifeq 17
        15: .line 854
            aload 0 /* this */
            dload 5 /* x1 */
            dload 7 /* y1 */
            dload 17 /* x4 */
            dload 19 /* y4 */
            aload 3 /* leftOff */
            aload 4 /* rightOff */
            invokevirtual com.sun.marlin.DStroker.getLineOffsets:(DDDD[D[D)V
        16: .line 855
            iconst_4
            ireturn
        17: .line 856
      StackMap locals: com.sun.marlin.DStroker double[] int double[] double[] double double double double double double double double double double double double int int
      StackMap stack:
            iload 29 /* p1eqp2 */
            ifeq 21
        18: .line 857
            dload 13 /* x3 */
            dload 5 /* x1 */
            dsub
            dstore 25 /* dx1 */
        19: .line 858
            dload 15 /* y3 */
            dload 7 /* y1 */
            dsub
            dstore 27 /* dy1 */
        20: .line 859
            goto 24
      StackMap locals:
      StackMap stack:
        21: iload 30 /* p3eqp4 */
            ifeq 24
        22: .line 860
            dload 17 /* x4 */
            dload 9 /* x2 */
            dsub
            dstore 21 /* dx4 */
        23: .line 861
            dload 19 /* y4 */
            dload 11 /* y2 */
            dsub
            dstore 23 /* dy4 */
        24: .line 865
      StackMap locals:
      StackMap stack:
            dload 25 /* dx1 */
            dload 21 /* dx4 */
            dmul
            dload 27 /* dy1 */
            dload 23 /* dy4 */
            dmul
            dadd
            dstore 31 /* dotsq */
        start local 31 // double dotsq
        25: .line 866
            dload 31 /* dotsq */
            dload 31 /* dotsq */
            dmul
            dstore 31 /* dotsq */
        26: .line 867
            dload 25 /* dx1 */
            dload 25 /* dx1 */
            dmul
            dload 27 /* dy1 */
            dload 27 /* dy1 */
            dmul
            dadd
            dstore 33 /* l1sq */
        start local 33 // double l1sq
        27: dload 21 /* dx4 */
            dload 21 /* dx4 */
            dmul
            dload 23 /* dy4 */
            dload 23 /* dy4 */
            dmul
            dadd
            dstore 35 /* l4sq */
        start local 35 // double l4sq
        28: .line 869
            dload 31 /* dotsq */
            dload 33 /* l1sq */
            dload 35 /* l4sq */
            dmul
            ldc 4.0
            dload 31 /* dotsq */
            invokestatic java.lang.Math.ulp:(D)D
            dmul
            invokestatic com.sun.marlin.DHelpers.within:(DDD)Z
            ifeq 31
        29: .line 870
            aload 0 /* this */
            dload 5 /* x1 */
            dload 7 /* y1 */
            dload 17 /* x4 */
            dload 19 /* y4 */
            aload 3 /* leftOff */
            aload 4 /* rightOff */
            invokevirtual com.sun.marlin.DStroker.getLineOffsets:(DDDD[D[D)V
        30: .line 871
            iconst_4
            ireturn
        31: .line 921
      StackMap locals: double double double
      StackMap stack:
            dload 5 /* x1 */
            ldc 3.0
            dload 9 /* x2 */
            dload 13 /* x3 */
            dadd
            dmul
            dadd
            dload 17 /* x4 */
            dadd
            ldc 8.0
            ddiv
            dstore 37 /* x */
        start local 37 // double x
        32: .line 922
            dload 7 /* y1 */
            ldc 3.0
            dload 11 /* y2 */
            dload 15 /* y3 */
            dadd
            dmul
            dadd
            dload 19 /* y4 */
            dadd
            ldc 8.0
            ddiv
            dstore 39 /* y */
        start local 39 // double y
        33: .line 925
            dload 13 /* x3 */
            dload 17 /* x4 */
            dadd
            dload 5 /* x1 */
            dsub
            dload 9 /* x2 */
            dsub
            dstore 41 /* dxm */
        start local 41 // double dxm
        34: dload 15 /* y3 */
            dload 19 /* y4 */
            dadd
            dload 7 /* y1 */
            dsub
            dload 11 /* y2 */
            dsub
            dstore 43 /* dym */
        start local 43 // double dym
        35: .line 930
            dload 25 /* dx1 */
            dload 27 /* dy1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            invokestatic com.sun.marlin.DStroker.computeOffset:(DDD[D)V
        36: .line 931
            dload 41 /* dxm */
            dload 43 /* dym */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset1:[D
            invokestatic com.sun.marlin.DStroker.computeOffset:(DDD[D)V
        37: .line 932
            dload 21 /* dx4 */
            dload 23 /* dy4 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset2:[D
            invokestatic com.sun.marlin.DStroker.computeOffset:(DDD[D)V
        38: .line 933
            dload 5 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_0
            daload
            dadd
            dstore 45 /* x1p */
        start local 45 // double x1p
        39: .line 934
            dload 7 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_1
            daload
            dadd
            dstore 47 /* y1p */
        start local 47 // double y1p
        40: .line 935
            dload 37 /* x */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset1:[D
            iconst_0
            daload
            dadd
            dstore 49 /* xi */
        start local 49 // double xi
        41: .line 936
            dload 39 /* y */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset1:[D
            iconst_1
            daload
            dadd
            dstore 51 /* yi */
        start local 51 // double yi
        42: .line 937
            dload 17 /* x4 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset2:[D
            iconst_0
            daload
            dadd
            dstore 53 /* x4p */
        start local 53 // double x4p
        43: .line 938
            dload 19 /* y4 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset2:[D
            iconst_1
            daload
            dadd
            dstore 55 /* y4p */
        start local 55 // double y4p
        44: .line 940
            ldc 4.0
            ldc 3.0
            dload 25 /* dx1 */
            dload 23 /* dy4 */
            dmul
            dload 27 /* dy1 */
            dload 21 /* dx4 */
            dmul
            dsub
            dmul
            ddiv
            dstore 57 /* invdet43 */
        start local 57 // double invdet43
        45: .line 942
            ldc 2.0
            dload 49 /* xi */
            dmul
            dload 45 /* x1p */
            dsub
            dload 53 /* x4p */
            dsub
            dstore 59 /* two_pi_m_p1_m_p4x */
        start local 59 // double two_pi_m_p1_m_p4x
        46: .line 943
            ldc 2.0
            dload 51 /* yi */
            dmul
            dload 47 /* y1p */
            dsub
            dload 55 /* y4p */
            dsub
            dstore 61 /* two_pi_m_p1_m_p4y */
        start local 61 // double two_pi_m_p1_m_p4y
        47: .line 944
            dload 57 /* invdet43 */
            dload 23 /* dy4 */
            dload 59 /* two_pi_m_p1_m_p4x */
            dmul
            dload 21 /* dx4 */
            dload 61 /* two_pi_m_p1_m_p4y */
            dmul
            dsub
            dmul
            dstore 63 /* c1 */
        start local 63 // double c1
        48: .line 945
            dload 57 /* invdet43 */
            dload 25 /* dx1 */
            dload 61 /* two_pi_m_p1_m_p4y */
            dmul
            dload 27 /* dy1 */
            dload 59 /* two_pi_m_p1_m_p4x */
            dmul
            dsub
            dmul
            dstore 65 /* c2 */
        start local 65 // double c2
        49: .line 948
            dload 45 /* x1p */
            dload 63 /* c1 */
            dload 25 /* dx1 */
            dmul
            dadd
            dstore 67 /* x2p */
        start local 67 // double x2p
        50: .line 949
            dload 47 /* y1p */
            dload 63 /* c1 */
            dload 27 /* dy1 */
            dmul
            dadd
            dstore 69 /* y2p */
        start local 69 // double y2p
        51: .line 950
            dload 53 /* x4p */
            dload 65 /* c2 */
            dload 21 /* dx4 */
            dmul
            dadd
            dstore 71 /* x3p */
        start local 71 // double x3p
        52: .line 951
            dload 55 /* y4p */
            dload 65 /* c2 */
            dload 23 /* dy4 */
            dmul
            dadd
            dstore 73 /* y3p */
        start local 73 // double y3p
        53: .line 953
            aload 3 /* leftOff */
            iconst_0
            dload 45 /* x1p */
            dastore
            aload 3 /* leftOff */
            iconst_1
            dload 47 /* y1p */
            dastore
        54: .line 954
            aload 3 /* leftOff */
            iconst_2
            dload 67 /* x2p */
            dastore
            aload 3 /* leftOff */
            iconst_3
            dload 69 /* y2p */
            dastore
        55: .line 955
            aload 3 /* leftOff */
            iconst_4
            dload 71 /* x3p */
            dastore
            aload 3 /* leftOff */
            iconst_5
            dload 73 /* y3p */
            dastore
        56: .line 956
            aload 3 /* leftOff */
            bipush 6
            dload 53 /* x4p */
            dastore
            aload 3 /* leftOff */
            bipush 7
            dload 55 /* y4p */
            dastore
        57: .line 958
            dload 5 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_0
            daload
            dsub
            dstore 45 /* x1p */
            dload 7 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_1
            daload
            dsub
            dstore 47 /* y1p */
        58: .line 959
            dload 49 /* xi */
            ldc 2.0
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset1:[D
            iconst_0
            daload
            dmul
            dsub
            dstore 49 /* xi */
            dload 51 /* yi */
            ldc 2.0
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset1:[D
            iconst_1
            daload
            dmul
            dsub
            dstore 51 /* yi */
        59: .line 960
            dload 17 /* x4 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset2:[D
            iconst_0
            daload
            dsub
            dstore 53 /* x4p */
            dload 19 /* y4 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset2:[D
            iconst_1
            daload
            dsub
            dstore 55 /* y4p */
        60: .line 962
            ldc 2.0
            dload 49 /* xi */
            dmul
            dload 45 /* x1p */
            dsub
            dload 53 /* x4p */
            dsub
            dstore 59 /* two_pi_m_p1_m_p4x */
        61: .line 963
            ldc 2.0
            dload 51 /* yi */
            dmul
            dload 47 /* y1p */
            dsub
            dload 55 /* y4p */
            dsub
            dstore 61 /* two_pi_m_p1_m_p4y */
        62: .line 964
            dload 57 /* invdet43 */
            dload 23 /* dy4 */
            dload 59 /* two_pi_m_p1_m_p4x */
            dmul
            dload 21 /* dx4 */
            dload 61 /* two_pi_m_p1_m_p4y */
            dmul
            dsub
            dmul
            dstore 63 /* c1 */
        63: .line 965
            dload 57 /* invdet43 */
            dload 25 /* dx1 */
            dload 61 /* two_pi_m_p1_m_p4y */
            dmul
            dload 27 /* dy1 */
            dload 59 /* two_pi_m_p1_m_p4x */
            dmul
            dsub
            dmul
            dstore 65 /* c2 */
        64: .line 967
            dload 45 /* x1p */
            dload 63 /* c1 */
            dload 25 /* dx1 */
            dmul
            dadd
            dstore 67 /* x2p */
        65: .line 968
            dload 47 /* y1p */
            dload 63 /* c1 */
            dload 27 /* dy1 */
            dmul
            dadd
            dstore 69 /* y2p */
        66: .line 969
            dload 53 /* x4p */
            dload 65 /* c2 */
            dload 21 /* dx4 */
            dmul
            dadd
            dstore 71 /* x3p */
        67: .line 970
            dload 55 /* y4p */
            dload 65 /* c2 */
            dload 23 /* dy4 */
            dmul
            dadd
            dstore 73 /* y3p */
        68: .line 972
            aload 4 /* rightOff */
            iconst_0
            dload 45 /* x1p */
            dastore
            aload 4 /* rightOff */
            iconst_1
            dload 47 /* y1p */
            dastore
        69: .line 973
            aload 4 /* rightOff */
            iconst_2
            dload 67 /* x2p */
            dastore
            aload 4 /* rightOff */
            iconst_3
            dload 69 /* y2p */
            dastore
        70: .line 974
            aload 4 /* rightOff */
            iconst_4
            dload 71 /* x3p */
            dastore
            aload 4 /* rightOff */
            iconst_5
            dload 73 /* y3p */
            dastore
        71: .line 975
            aload 4 /* rightOff */
            bipush 6
            dload 53 /* x4p */
            dastore
            aload 4 /* rightOff */
            bipush 7
            dload 55 /* y4p */
            dastore
        72: .line 976
            bipush 8
            ireturn
        end local 73 // double y3p
        end local 71 // double x3p
        end local 69 // double y2p
        end local 67 // double x2p
        end local 65 // double c2
        end local 63 // double c1
        end local 61 // double two_pi_m_p1_m_p4y
        end local 59 // double two_pi_m_p1_m_p4x
        end local 57 // double invdet43
        end local 55 // double y4p
        end local 53 // double x4p
        end local 51 // double yi
        end local 49 // double xi
        end local 47 // double y1p
        end local 45 // double x1p
        end local 43 // double dym
        end local 41 // double dxm
        end local 39 // double y
        end local 37 // double x
        end local 35 // double l4sq
        end local 33 // double l1sq
        end local 31 // double dotsq
        end local 30 // boolean p3eqp4
        end local 29 // boolean p1eqp2
        end local 27 // double dy1
        end local 25 // double dx1
        end local 23 // double dy4
        end local 21 // double dx4
        end local 19 // double y4
        end local 17 // double x4
        end local 15 // double y3
        end local 13 // double x3
        end local 11 // double y2
        end local 9 // double x2
        end local 7 // double y1
        end local 5 // double x1
        end local 4 // double[] rightOff
        end local 3 // double[] leftOff
        end local 2 // int off
        end local 1 // double[] pts
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   73     0               this  Lcom/sun/marlin/DStroker;
            0   73     1                pts  [D
            0   73     2                off  I
            0   73     3            leftOff  [D
            0   73     4           rightOff  [D
            1   73     5                 x1  D
            2   73     7                 y1  D
            3   73     9                 x2  D
            4   73    11                 y2  D
            5   73    13                 x3  D
            6   73    15                 y3  D
            7   73    17                 x4  D
            8   73    19                 y4  D
            9   73    21                dx4  D
           10   73    23                dy4  D
           11   73    25                dx1  D
           12   73    27                dy1  D
           13   73    29             p1eqp2  Z
           14   73    30             p3eqp4  Z
           25   73    31              dotsq  D
           27   73    33               l1sq  D
           28   73    35               l4sq  D
           32   73    37                  x  D
           33   73    39                  y  D
           34   73    41                dxm  D
           35   73    43                dym  D
           39   73    45                x1p  D
           40   73    47                y1p  D
           41   73    49                 xi  D
           42   73    51                 yi  D
           43   73    53                x4p  D
           44   73    55                y4p  D
           45   73    57           invdet43  D
           46   73    59  two_pi_m_p1_m_p4x  D
           47   73    61  two_pi_m_p1_m_p4y  D
           48   73    63                 c1  D
           49   73    65                 c2  D
           50   73    67                x2p  D
           51   73    69                y2p  D
           52   73    71                x3p  D
           53   73    73                y3p  D
    MethodParameters:
          Name  Flags
      pts       final
      off       final
      leftOff   final
      rightOff  final

  private int computeOffsetQuad(double[], int, double[], double[]);
    descriptor: ([DI[D[D)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=18, locals=41, args_size=5
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double[] pts
        start local 2 // int off
        start local 3 // double[] leftOff
        start local 4 // double[] rightOff
         0: .line 986
            aload 1 /* pts */
            iload 2 /* off */
            daload
            dstore 5 /* x1 */
        start local 5 // double x1
         1: aload 1 /* pts */
            iload 2 /* off */
            iconst_1
            iadd
            daload
            dstore 7 /* y1 */
        start local 7 // double y1
         2: .line 987
            aload 1 /* pts */
            iload 2 /* off */
            iconst_2
            iadd
            daload
            dstore 9 /* x2 */
        start local 9 // double x2
         3: aload 1 /* pts */
            iload 2 /* off */
            iconst_3
            iadd
            daload
            dstore 11 /* y2 */
        start local 11 // double y2
         4: .line 988
            aload 1 /* pts */
            iload 2 /* off */
            iconst_4
            iadd
            daload
            dstore 13 /* x3 */
        start local 13 // double x3
         5: aload 1 /* pts */
            iload 2 /* off */
            iconst_5
            iadd
            daload
            dstore 15 /* y3 */
        start local 15 // double y3
         6: .line 990
            dload 13 /* x3 */
            dload 9 /* x2 */
            dsub
            dstore 17 /* dx3 */
        start local 17 // double dx3
         7: .line 991
            dload 15 /* y3 */
            dload 11 /* y2 */
            dsub
            dstore 19 /* dy3 */
        start local 19 // double dy3
         8: .line 992
            dload 9 /* x2 */
            dload 5 /* x1 */
            dsub
            dstore 21 /* dx1 */
        start local 21 // double dx1
         9: .line 993
            dload 11 /* y2 */
            dload 7 /* y1 */
            dsub
            dstore 23 /* dy1 */
        start local 23 // double dy1
        10: .line 1005
            dload 5 /* x1 */
            dload 7 /* y1 */
            dload 9 /* x2 */
            dload 11 /* y2 */
            ldc 6.0
            dload 11 /* y2 */
            invokestatic java.lang.Math.ulp:(D)D
            dmul
            invokestatic com.sun.marlin.DStroker.within:(DDDDD)Z
            istore 25 /* p1eqp2 */
        start local 25 // boolean p1eqp2
        11: .line 1006
            dload 9 /* x2 */
            dload 11 /* y2 */
            dload 13 /* x3 */
            dload 15 /* y3 */
            ldc 6.0
            dload 15 /* y3 */
            invokestatic java.lang.Math.ulp:(D)D
            dmul
            invokestatic com.sun.marlin.DStroker.within:(DDDDD)Z
            istore 26 /* p2eqp3 */
        start local 26 // boolean p2eqp3
        12: .line 1008
            iload 25 /* p1eqp2 */
            ifne 13
            iload 26 /* p2eqp3 */
            ifeq 15
        13: .line 1009
      StackMap locals: com.sun.marlin.DStroker double[] int double[] double[] double double double double double double double double double double int int
      StackMap stack:
            aload 0 /* this */
            dload 5 /* x1 */
            dload 7 /* y1 */
            dload 13 /* x3 */
            dload 15 /* y3 */
            aload 3 /* leftOff */
            aload 4 /* rightOff */
            invokevirtual com.sun.marlin.DStroker.getLineOffsets:(DDDD[D[D)V
        14: .line 1010
            iconst_4
            ireturn
        15: .line 1014
      StackMap locals:
      StackMap stack:
            dload 21 /* dx1 */
            dload 17 /* dx3 */
            dmul
            dload 23 /* dy1 */
            dload 19 /* dy3 */
            dmul
            dadd
            dstore 27 /* dotsq */
        start local 27 // double dotsq
        16: .line 1015
            dload 27 /* dotsq */
            dload 27 /* dotsq */
            dmul
            dstore 27 /* dotsq */
        17: .line 1016
            dload 21 /* dx1 */
            dload 21 /* dx1 */
            dmul
            dload 23 /* dy1 */
            dload 23 /* dy1 */
            dmul
            dadd
            dstore 29 /* l1sq */
        start local 29 // double l1sq
        18: dload 17 /* dx3 */
            dload 17 /* dx3 */
            dmul
            dload 19 /* dy3 */
            dload 19 /* dy3 */
            dmul
            dadd
            dstore 31 /* l3sq */
        start local 31 // double l3sq
        19: .line 1018
            dload 27 /* dotsq */
            dload 29 /* l1sq */
            dload 31 /* l3sq */
            dmul
            ldc 4.0
            dload 27 /* dotsq */
            invokestatic java.lang.Math.ulp:(D)D
            dmul
            invokestatic com.sun.marlin.DHelpers.within:(DDD)Z
            ifeq 22
        20: .line 1019
            aload 0 /* this */
            dload 5 /* x1 */
            dload 7 /* y1 */
            dload 13 /* x3 */
            dload 15 /* y3 */
            aload 3 /* leftOff */
            aload 4 /* rightOff */
            invokevirtual com.sun.marlin.DStroker.getLineOffsets:(DDDD[D[D)V
        21: .line 1020
            iconst_4
            ireturn
        22: .line 1026
      StackMap locals: double double double
      StackMap stack:
            dload 21 /* dx1 */
            dload 23 /* dy1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            invokestatic com.sun.marlin.DStroker.computeOffset:(DDD[D)V
        23: .line 1027
            dload 17 /* dx3 */
            dload 19 /* dy3 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset1:[D
            invokestatic com.sun.marlin.DStroker.computeOffset:(DDD[D)V
        24: .line 1029
            dload 5 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_0
            daload
            dadd
            dstore 33 /* x1p */
        start local 33 // double x1p
        25: .line 1030
            dload 7 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_1
            daload
            dadd
            dstore 35 /* y1p */
        start local 35 // double y1p
        26: .line 1031
            dload 13 /* x3 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset1:[D
            iconst_0
            daload
            dadd
            dstore 37 /* x3p */
        start local 37 // double x3p
        27: .line 1032
            dload 15 /* y3 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset1:[D
            iconst_1
            daload
            dadd
            dstore 39 /* y3p */
        start local 39 // double y3p
        28: .line 1033
            dload 33 /* x1p */
            dload 35 /* y1p */
            dload 33 /* x1p */
            dload 21 /* dx1 */
            dadd
            dload 35 /* y1p */
            dload 23 /* dy1 */
            dadd
            dload 37 /* x3p */
            dload 39 /* y3p */
            dload 37 /* x3p */
            dload 17 /* dx3 */
            dsub
            dload 39 /* y3p */
            dload 19 /* dy3 */
            dsub
            aload 3 /* leftOff */
            invokestatic com.sun.marlin.DStroker.safeComputeMiter:(DDDDDDDD[D)V
        29: .line 1034
            aload 3 /* leftOff */
            iconst_0
            dload 33 /* x1p */
            dastore
            aload 3 /* leftOff */
            iconst_1
            dload 35 /* y1p */
            dastore
        30: .line 1035
            aload 3 /* leftOff */
            iconst_4
            dload 37 /* x3p */
            dastore
            aload 3 /* leftOff */
            iconst_5
            dload 39 /* y3p */
            dastore
        31: .line 1037
            dload 5 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_0
            daload
            dsub
            dstore 33 /* x1p */
            dload 7 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_1
            daload
            dsub
            dstore 35 /* y1p */
        32: .line 1038
            dload 13 /* x3 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset1:[D
            iconst_0
            daload
            dsub
            dstore 37 /* x3p */
            dload 15 /* y3 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset1:[D
            iconst_1
            daload
            dsub
            dstore 39 /* y3p */
        33: .line 1039
            dload 33 /* x1p */
            dload 35 /* y1p */
            dload 33 /* x1p */
            dload 21 /* dx1 */
            dadd
            dload 35 /* y1p */
            dload 23 /* dy1 */
            dadd
            dload 37 /* x3p */
            dload 39 /* y3p */
            dload 37 /* x3p */
            dload 17 /* dx3 */
            dsub
            dload 39 /* y3p */
            dload 19 /* dy3 */
            dsub
            aload 4 /* rightOff */
            invokestatic com.sun.marlin.DStroker.safeComputeMiter:(DDDDDDDD[D)V
        34: .line 1040
            aload 4 /* rightOff */
            iconst_0
            dload 33 /* x1p */
            dastore
            aload 4 /* rightOff */
            iconst_1
            dload 35 /* y1p */
            dastore
        35: .line 1041
            aload 4 /* rightOff */
            iconst_4
            dload 37 /* x3p */
            dastore
            aload 4 /* rightOff */
            iconst_5
            dload 39 /* y3p */
            dastore
        36: .line 1042
            bipush 6
            ireturn
        end local 39 // double y3p
        end local 37 // double x3p
        end local 35 // double y1p
        end local 33 // double x1p
        end local 31 // double l3sq
        end local 29 // double l1sq
        end local 27 // double dotsq
        end local 26 // boolean p2eqp3
        end local 25 // boolean p1eqp2
        end local 23 // double dy1
        end local 21 // double dx1
        end local 19 // double dy3
        end local 17 // double dx3
        end local 15 // double y3
        end local 13 // double x3
        end local 11 // double y2
        end local 9 // double x2
        end local 7 // double y1
        end local 5 // double x1
        end local 4 // double[] rightOff
        end local 3 // double[] leftOff
        end local 2 // int off
        end local 1 // double[] pts
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   37     0      this  Lcom/sun/marlin/DStroker;
            0   37     1       pts  [D
            0   37     2       off  I
            0   37     3   leftOff  [D
            0   37     4  rightOff  [D
            1   37     5        x1  D
            2   37     7        y1  D
            3   37     9        x2  D
            4   37    11        y2  D
            5   37    13        x3  D
            6   37    15        y3  D
            7   37    17       dx3  D
            8   37    19       dy3  D
            9   37    21       dx1  D
           10   37    23       dy1  D
           11   37    25    p1eqp2  Z
           12   37    26    p2eqp3  Z
           16   37    27     dotsq  D
           18   37    29      l1sq  D
           19   37    31      l3sq  D
           25   37    33       x1p  D
           26   37    35       y1p  D
           27   37    37       x3p  D
           28   37    39       y3p  D
    MethodParameters:
          Name  Flags
      pts       final
      off       final
      leftOff   final
      rightOff  final

  public void curveTo(double, double, double, double, double, double);
    descriptor: (DDDDDD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=19, locals=20, args_size=7
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
        start local 5 // double x2
        start local 7 // double y2
        start local 9 // double x3
        start local 11 // double y3
         0: .line 1050
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cOutCode:I
            istore 13 /* outcode0 */
        start local 13 // int outcode0
         1: .line 1052
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            ifnull 23
         2: .line 1053
            dload 1 /* x1 */
            dload 3 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            invokestatic com.sun.marlin.DHelpers.outcode:(DD[D)I
            istore 14 /* outcode1 */
        start local 14 // int outcode1
         3: .line 1054
            dload 5 /* x2 */
            dload 7 /* y2 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            invokestatic com.sun.marlin.DHelpers.outcode:(DD[D)I
            istore 15 /* outcode2 */
        start local 15 // int outcode2
         4: .line 1055
            dload 9 /* x3 */
            dload 11 /* y3 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            invokestatic com.sun.marlin.DHelpers.outcode:(DD[D)I
            istore 16 /* outcode3 */
        start local 16 // int outcode3
         5: .line 1058
            iload 13 /* outcode0 */
            iload 14 /* outcode1 */
            ior
            iload 15 /* outcode2 */
            ior
            iload 16 /* outcode3 */
            ior
            istore 17 /* orCode */
        start local 17 // int orCode
         6: .line 1059
            iload 17 /* orCode */
            ifeq 22
         7: .line 1060
            iload 13 /* outcode0 */
            iload 14 /* outcode1 */
            iand
            iload 15 /* outcode2 */
            iand
            iload 16 /* outcode3 */
            iand
            istore 18 /* sideCode */
        start local 18 // int sideCode
         8: .line 1063
            iload 18 /* sideCode */
            ifne 18
         9: .line 1065
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.subdivide:Z
            ifeq 22
        10: .line 1067
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.subdivide:Z
        11: .line 1069
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.curveSplitter:Lcom/sun/marlin/DTransformingPathConsumer2D$CurveClipSplitter;
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dload 1 /* x1 */
            dload 3 /* y1 */
        12: .line 1070
            dload 5 /* x2 */
            dload 7 /* y2 */
            dload 9 /* x3 */
            dload 11 /* y3 */
        13: .line 1071
            iload 17 /* orCode */
            aload 0 /* this */
        14: .line 1069
            invokevirtual com.sun.marlin.DTransformingPathConsumer2D$CurveClipSplitter.splitCurve:(DDDDDDDDILcom/sun/marlin/DPathConsumer2D;)Z
            istore 19 /* ret */
        start local 19 // boolean ret
        15: .line 1073
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DStroker.subdivide:Z
        16: .line 1074
            iload 19 /* ret */
            ifeq 22
        17: .line 1075
            return
        end local 19 // boolean ret
        18: .line 1080
      StackMap locals: com.sun.marlin.DStroker double double double double double double int int int int int int
      StackMap stack:
            aload 0 /* this */
            iload 16 /* outcode3 */
            putfield com.sun.marlin.DStroker.cOutCode:I
        19: .line 1081
            aload 0 /* this */
            dload 9 /* x3 */
            dload 11 /* y3 */
            iload 13 /* outcode0 */
            invokevirtual com.sun.marlin.DStroker._moveTo:(DDI)V
        20: .line 1082
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DStroker.opened:Z
        21: .line 1083
            return
        end local 18 // int sideCode
        22: .line 1087
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 16 /* outcode3 */
            putfield com.sun.marlin.DStroker.cOutCode:I
        end local 17 // int orCode
        end local 16 // int outcode3
        end local 15 // int outcode2
        end local 14 // int outcode1
        23: .line 1089
      StackMap locals: com.sun.marlin.DStroker double double double double double double int
      StackMap stack:
            aload 0 /* this */
            dload 1 /* x1 */
            dload 3 /* y1 */
            dload 5 /* x2 */
            dload 7 /* y2 */
            dload 9 /* x3 */
            dload 11 /* y3 */
            iload 13 /* outcode0 */
            invokevirtual com.sun.marlin.DStroker._curveTo:(DDDDDDI)V
        24: .line 1090
            return
        end local 13 // int outcode0
        end local 11 // double y3
        end local 9 // double x3
        end local 7 // double y2
        end local 5 // double x2
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   25     0      this  Lcom/sun/marlin/DStroker;
            0   25     1        x1  D
            0   25     3        y1  D
            0   25     5        x2  D
            0   25     7        y2  D
            0   25     9        x3  D
            0   25    11        y3  D
            1   25    13  outcode0  I
            3   23    14  outcode1  I
            4   23    15  outcode2  I
            5   23    16  outcode3  I
            6   23    17    orCode  I
            8   22    18  sideCode  I
           15   18    19       ret  Z
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      x2    final
      y2    final
      x3    final
      y3    final

  private void _curveTo(double, double, double, double, double, double, int);
    descriptor: (DDDDDDI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=22, locals=29, args_size=8
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
        start local 5 // double x2
        start local 7 // double y2
        start local 9 // double x3
        start local 11 // double y3
        start local 13 // int outcode0
         0: .line 1098
            dload 1 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            dsub
            dstore 14 /* dxs */
        start local 14 // double dxs
         1: .line 1099
            dload 3 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dsub
            dstore 16 /* dys */
        start local 16 // double dys
         2: .line 1100
            dload 9 /* x3 */
            dload 5 /* x2 */
            dsub
            dstore 18 /* dxf */
        start local 18 // double dxf
         3: .line 1101
            dload 11 /* y3 */
            dload 7 /* y2 */
            dsub
            dstore 20 /* dyf */
        start local 20 // double dyf
         4: .line 1103
            dload 14 /* dxs */
            dconst_0
            dcmpl
            ifne 10
            dload 16 /* dys */
            dconst_0
            dcmpl
            ifne 10
         5: .line 1104
            dload 5 /* x2 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            dsub
            dstore 14 /* dxs */
         6: .line 1105
            dload 7 /* y2 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dsub
            dstore 16 /* dys */
         7: .line 1106
            dload 14 /* dxs */
            dconst_0
            dcmpl
            ifne 10
            dload 16 /* dys */
            dconst_0
            dcmpl
            ifne 10
         8: .line 1107
            dload 9 /* x3 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            dsub
            dstore 14 /* dxs */
         9: .line 1108
            dload 11 /* y3 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dsub
            dstore 16 /* dys */
        10: .line 1111
      StackMap locals: com.sun.marlin.DStroker double double double double double double int double double double double
      StackMap stack:
            dload 18 /* dxf */
            dconst_0
            dcmpl
            ifne 16
            dload 20 /* dyf */
            dconst_0
            dcmpl
            ifne 16
        11: .line 1112
            dload 9 /* x3 */
            dload 1 /* x1 */
            dsub
            dstore 18 /* dxf */
        12: .line 1113
            dload 11 /* y3 */
            dload 3 /* y1 */
            dsub
            dstore 20 /* dyf */
        13: .line 1114
            dload 18 /* dxf */
            dconst_0
            dcmpl
            ifne 16
            dload 20 /* dyf */
            dconst_0
            dcmpl
            ifne 16
        14: .line 1115
            dload 9 /* x3 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            dsub
            dstore 18 /* dxf */
        15: .line 1116
            dload 11 /* y3 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dsub
            dstore 20 /* dyf */
        16: .line 1119
      StackMap locals:
      StackMap stack:
            dload 14 /* dxs */
            dconst_0
            dcmpl
            ifne 21
            dload 16 /* dys */
            dconst_0
            dcmpl
            ifne 21
        17: .line 1122
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            ifnull 19
        18: .line 1123
            aload 0 /* this */
            iload 13 /* outcode0 */
            putfield com.sun.marlin.DStroker.cOutCode:I
        19: .line 1125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            invokevirtual com.sun.marlin.DStroker.lineTo:(DD)V
        20: .line 1126
            return
        21: .line 1131
      StackMap locals:
      StackMap stack:
            dload 14 /* dxs */
            invokestatic java.lang.Math.abs:(D)D
            ldc 0.1
            dcmpg
            ifge 25
            dload 16 /* dys */
            invokestatic java.lang.Math.abs:(D)D
            ldc 0.1
            dcmpg
            ifge 25
        22: .line 1132
            dload 14 /* dxs */
            dload 14 /* dxs */
            dmul
            dload 16 /* dys */
            dload 16 /* dys */
            dmul
            dadd
            invokestatic java.lang.Math.sqrt:(D)D
            dstore 22 /* len */
        start local 22 // double len
        23: .line 1133
            dload 14 /* dxs */
            dload 22 /* len */
            ddiv
            dstore 14 /* dxs */
        24: .line 1134
            dload 16 /* dys */
            dload 22 /* len */
            ddiv
            dstore 16 /* dys */
        end local 22 // double len
        25: .line 1136
      StackMap locals:
      StackMap stack:
            dload 18 /* dxf */
            invokestatic java.lang.Math.abs:(D)D
            ldc 0.1
            dcmpg
            ifge 29
            dload 20 /* dyf */
            invokestatic java.lang.Math.abs:(D)D
            ldc 0.1
            dcmpg
            ifge 29
        26: .line 1137
            dload 18 /* dxf */
            dload 18 /* dxf */
            dmul
            dload 20 /* dyf */
            dload 20 /* dyf */
            dmul
            dadd
            invokestatic java.lang.Math.sqrt:(D)D
            dstore 22 /* len */
        start local 22 // double len
        27: .line 1138
            dload 18 /* dxf */
            dload 22 /* len */
            ddiv
            dstore 18 /* dxf */
        28: .line 1139
            dload 20 /* dyf */
            dload 22 /* len */
            ddiv
            dstore 20 /* dyf */
        end local 22 // double len
        29: .line 1142
      StackMap locals:
      StackMap stack:
            dload 14 /* dxs */
            dload 16 /* dys */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            invokestatic com.sun.marlin.DStroker.computeOffset:(DDD[D)V
        30: .line 1143
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cdx:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cdy:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dload 14 /* dxs */
            dload 16 /* dys */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmx:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmy:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_0
            daload
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_1
            daload
            iload 13 /* outcode0 */
            invokevirtual com.sun.marlin.DStroker.drawJoin:(DDDDDDDDDDI)V
        31: .line 1145
            iconst_0
            istore 22 /* nSplits */
        start local 22 // int nSplits
        32: .line 1147
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lp:[D
            astore 24 /* l */
        start local 24 // double[] l
        33: .line 1149
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.monotonize:Z
            ifeq 39
        34: .line 1152
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.rdrCtx:Lcom/sun/marlin/DRendererContext;
            getfield com.sun.marlin.DRendererContext.monotonizer:Lcom/sun/marlin/DTransformingPathConsumer2D$CurveBasicMonotonizer;
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dload 1 /* x1 */
            dload 3 /* y1 */
            dload 5 /* x2 */
            dload 7 /* y2 */
            dload 9 /* x3 */
            dload 11 /* y3 */
            invokevirtual com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer.curve:(DDDDDDDD)Lcom/sun/marlin/DTransformingPathConsumer2D$CurveBasicMonotonizer;
        35: .line 1151
            astore 25 /* monotonizer */
        start local 25 // com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer monotonizer
        36: .line 1154
            aload 25 /* monotonizer */
            getfield com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer.nbSplits:I
            istore 22 /* nSplits */
        37: .line 1155
            aload 25 /* monotonizer */
            getfield com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer.middle:[D
            astore 23 /* mid */
        end local 25 // com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer monotonizer
        start local 23 // double[] mid
        38: .line 1156
            goto 44
        end local 23 // double[] mid
        39: .line 1158
      StackMap locals: com.sun.marlin.DStroker double double double double double double int double double double double int top double[]
      StackMap stack:
            aload 24 /* l */
            astore 23 /* mid */
        start local 23 // double[] mid
        40: .line 1159
            aload 23 /* mid */
            iconst_0
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            dastore
            aload 23 /* mid */
            iconst_1
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dastore
        41: .line 1160
            aload 23 /* mid */
            iconst_2
            dload 1 /* x1 */
            dastore
            aload 23 /* mid */
            iconst_3
            dload 3 /* y1 */
            dastore
        42: .line 1161
            aload 23 /* mid */
            iconst_4
            dload 5 /* x2 */
            dastore
            aload 23 /* mid */
            iconst_5
            dload 7 /* y2 */
            dastore
        43: .line 1162
            aload 23 /* mid */
            bipush 6
            dload 9 /* x3 */
            dastore
            aload 23 /* mid */
            bipush 7
            dload 11 /* y3 */
            dastore
        44: .line 1164
      StackMap locals: com.sun.marlin.DStroker double double double double double double int double double double double int double[] double[]
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.rp:[D
            astore 25 /* r */
        start local 25 // double[] r
        45: .line 1166
            iconst_0
            istore 26 /* kind */
        start local 26 // int kind
        46: .line 1167
            iconst_0
            istore 27 /* i */
        start local 27 // int i
        47: iconst_0
            istore 28 /* off */
        start local 28 // int off
        48: goto 59
        49: .line 1168
      StackMap locals: com.sun.marlin.DStroker double double double double double double int double double double double int double[] double[] double[] int int int
      StackMap stack:
            aload 0 /* this */
            aload 23 /* mid */
            iload 28 /* off */
            aload 24 /* l */
            aload 25 /* r */
            invokevirtual com.sun.marlin.DStroker.computeOffsetCubic:([DI[D[D)I
            istore 26 /* kind */
        50: .line 1170
            aload 0 /* this */
            aload 24 /* l */
            iconst_0
            daload
            aload 24 /* l */
            iconst_1
            daload
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
        51: .line 1172
            iload 26 /* kind */
            tableswitch { // 4 - 8
                    4: 55
                    5: 57
                    6: 57
                    7: 57
                    8: 52
              default: 57
          }
        52: .line 1174
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 24 /* l */
            iconst_2
            daload
            aload 24 /* l */
            iconst_3
            daload
            aload 24 /* l */
            iconst_4
            daload
            aload 24 /* l */
            iconst_5
            daload
            aload 24 /* l */
            bipush 6
            daload
            aload 24 /* l */
            bipush 7
            daload
            invokevirtual com.sun.marlin.DStroker.emitCurveTo:(DDDDDD)V
        53: .line 1175
            aload 0 /* this */
            aload 25 /* r */
            iconst_0
            daload
            aload 25 /* r */
            iconst_1
            daload
            aload 25 /* r */
            iconst_2
            daload
            aload 25 /* r */
            iconst_3
            daload
            aload 25 /* r */
            iconst_4
            daload
            aload 25 /* r */
            iconst_5
            daload
            invokevirtual com.sun.marlin.DStroker.emitCurveToRev:(DDDDDD)V
        54: .line 1176
            goto 57
        55: .line 1178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 24 /* l */
            iconst_2
            daload
            aload 24 /* l */
            iconst_3
            daload
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
        56: .line 1179
            aload 0 /* this */
            aload 25 /* r */
            iconst_0
            daload
            aload 25 /* r */
            iconst_1
            daload
            invokevirtual com.sun.marlin.DStroker.emitLineToRev:(DD)V
        57: .line 1183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 25 /* r */
            iload 26 /* kind */
            iconst_2
            isub
            daload
            aload 25 /* r */
            iload 26 /* kind */
            iconst_1
            isub
            daload
            invokevirtual com.sun.marlin.DStroker.emitLineToRev:(DD)V
        58: .line 1167
            iinc 27 /* i */ 1
            iinc 28 /* off */ 6
      StackMap locals:
      StackMap stack:
        59: iload 27 /* i */
            iload 22 /* nSplits */
            if_icmple 49
        end local 28 // int off
        end local 27 // int i
        60: .line 1186
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DStroker.prev:I
        61: .line 1187
            aload 0 /* this */
            dload 9 /* x3 */
            putfield com.sun.marlin.DStroker.cx0:D
        62: .line 1188
            aload 0 /* this */
            dload 11 /* y3 */
            putfield com.sun.marlin.DStroker.cy0:D
        63: .line 1189
            aload 0 /* this */
            dload 18 /* dxf */
            putfield com.sun.marlin.DStroker.cdx:D
        64: .line 1190
            aload 0 /* this */
            dload 20 /* dyf */
            putfield com.sun.marlin.DStroker.cdy:D
        65: .line 1191
            aload 0 /* this */
            aload 24 /* l */
            iload 26 /* kind */
            iconst_2
            isub
            daload
            aload 25 /* r */
            iload 26 /* kind */
            iconst_2
            isub
            daload
            dsub
            ldc 2.0
            ddiv
            putfield com.sun.marlin.DStroker.cmx:D
        66: .line 1192
            aload 0 /* this */
            aload 24 /* l */
            iload 26 /* kind */
            iconst_1
            isub
            daload
            aload 25 /* r */
            iload 26 /* kind */
            iconst_1
            isub
            daload
            dsub
            ldc 2.0
            ddiv
            putfield com.sun.marlin.DStroker.cmy:D
        67: .line 1193
            return
        end local 26 // int kind
        end local 25 // double[] r
        end local 24 // double[] l
        end local 23 // double[] mid
        end local 22 // int nSplits
        end local 20 // double dyf
        end local 18 // double dxf
        end local 16 // double dys
        end local 14 // double dxs
        end local 13 // int outcode0
        end local 11 // double y3
        end local 9 // double x3
        end local 7 // double y2
        end local 5 // double x2
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   68     0         this  Lcom/sun/marlin/DStroker;
            0   68     1           x1  D
            0   68     3           y1  D
            0   68     5           x2  D
            0   68     7           y2  D
            0   68     9           x3  D
            0   68    11           y3  D
            0   68    13     outcode0  I
            1   68    14          dxs  D
            2   68    16          dys  D
            3   68    18          dxf  D
            4   68    20          dyf  D
           23   25    22          len  D
           27   29    22          len  D
           32   68    22      nSplits  I
           38   39    23          mid  [D
           40   68    23          mid  [D
           33   68    24            l  [D
           36   38    25  monotonizer  Lcom/sun/marlin/DTransformingPathConsumer2D$CurveBasicMonotonizer;
           45   68    25            r  [D
           46   68    26         kind  I
           47   60    27            i  I
           48   60    28          off  I
    MethodParameters:
          Name  Flags
      x1        final
      y1        final
      x2        final
      y2        final
      x3        final
      y3        final
      outcode0  final

  public void quadTo(double, double, double, double);
    descriptor: (DDDD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=15, locals=15, args_size=5
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
        start local 5 // double x2
        start local 7 // double y2
         0: .line 1199
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cOutCode:I
            istore 9 /* outcode0 */
        start local 9 // int outcode0
         1: .line 1201
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            ifnull 21
         2: .line 1202
            dload 1 /* x1 */
            dload 3 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            invokestatic com.sun.marlin.DHelpers.outcode:(DD[D)I
            istore 10 /* outcode1 */
        start local 10 // int outcode1
         3: .line 1203
            dload 5 /* x2 */
            dload 7 /* y2 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            invokestatic com.sun.marlin.DHelpers.outcode:(DD[D)I
            istore 11 /* outcode2 */
        start local 11 // int outcode2
         4: .line 1206
            iload 9 /* outcode0 */
            iload 10 /* outcode1 */
            ior
            iload 11 /* outcode2 */
            ior
            istore 12 /* orCode */
        start local 12 // int orCode
         5: .line 1207
            iload 12 /* orCode */
            ifeq 20
         6: .line 1208
            iload 9 /* outcode0 */
            iload 10 /* outcode1 */
            iand
            iload 11 /* outcode2 */
            iand
            istore 13 /* sideCode */
        start local 13 // int sideCode
         7: .line 1211
            iload 13 /* sideCode */
            ifne 16
         8: .line 1213
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.subdivide:Z
            ifeq 20
         9: .line 1215
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.subdivide:Z
        10: .line 1217
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.curveSplitter:Lcom/sun/marlin/DTransformingPathConsumer2D$CurveClipSplitter;
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dload 1 /* x1 */
            dload 3 /* y1 */
        11: .line 1218
            dload 5 /* x2 */
            dload 7 /* y2 */
            iload 12 /* orCode */
            aload 0 /* this */
        12: .line 1217
            invokevirtual com.sun.marlin.DTransformingPathConsumer2D$CurveClipSplitter.splitQuad:(DDDDDDILcom/sun/marlin/DPathConsumer2D;)Z
            istore 14 /* ret */
        start local 14 // boolean ret
        13: .line 1220
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DStroker.subdivide:Z
        14: .line 1221
            iload 14 /* ret */
            ifeq 20
        15: .line 1222
            return
        end local 14 // boolean ret
        16: .line 1227
      StackMap locals: com.sun.marlin.DStroker double double double double int int int int int
      StackMap stack:
            aload 0 /* this */
            iload 11 /* outcode2 */
            putfield com.sun.marlin.DStroker.cOutCode:I
        17: .line 1228
            aload 0 /* this */
            dload 5 /* x2 */
            dload 7 /* y2 */
            iload 9 /* outcode0 */
            invokevirtual com.sun.marlin.DStroker._moveTo:(DDI)V
        18: .line 1229
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DStroker.opened:Z
        19: .line 1230
            return
        end local 13 // int sideCode
        20: .line 1234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 11 /* outcode2 */
            putfield com.sun.marlin.DStroker.cOutCode:I
        end local 12 // int orCode
        end local 11 // int outcode2
        end local 10 // int outcode1
        21: .line 1236
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 1 /* x1 */
            dload 3 /* y1 */
            dload 5 /* x2 */
            dload 7 /* y2 */
            iload 9 /* outcode0 */
            invokevirtual com.sun.marlin.DStroker._quadTo:(DDDDI)V
        22: .line 1237
            return
        end local 9 // int outcode0
        end local 7 // double y2
        end local 5 // double x2
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0      this  Lcom/sun/marlin/DStroker;
            0   23     1        x1  D
            0   23     3        y1  D
            0   23     5        x2  D
            0   23     7        y2  D
            1   23     9  outcode0  I
            3   21    10  outcode1  I
            4   21    11  outcode2  I
            5   21    12    orCode  I
            7   20    13  sideCode  I
           13   16    14       ret  Z
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      x2    final
      y2    final

  private void _quadTo(double, double, double, double, int);
    descriptor: (DDDDI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=22, locals=25, args_size=6
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
        start local 5 // double x2
        start local 7 // double y2
        start local 9 // int outcode0
         0: .line 1244
            dload 1 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            dsub
            dstore 10 /* dxs */
        start local 10 // double dxs
         1: .line 1245
            dload 3 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dsub
            dstore 12 /* dys */
        start local 12 // double dys
         2: .line 1246
            dload 5 /* x2 */
            dload 1 /* x1 */
            dsub
            dstore 14 /* dxf */
        start local 14 // double dxf
         3: .line 1247
            dload 7 /* y2 */
            dload 3 /* y1 */
            dsub
            dstore 16 /* dyf */
        start local 16 // double dyf
         4: .line 1249
            dload 10 /* dxs */
            dconst_0
            dcmpl
            ifne 5
            dload 12 /* dys */
            dconst_0
            dcmpl
            ifeq 6
      StackMap locals: com.sun.marlin.DStroker double double double double int double double double double
      StackMap stack:
         5: dload 14 /* dxf */
            dconst_0
            dcmpl
            ifne 8
            dload 16 /* dyf */
            dconst_0
            dcmpl
            ifne 8
         6: .line 1250
      StackMap locals:
      StackMap stack:
            dload 5 /* x2 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            dsub
            dup2
            dstore 14 /* dxf */
            dstore 10 /* dxs */
         7: .line 1251
            dload 7 /* y2 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dsub
            dup2
            dstore 16 /* dyf */
            dstore 12 /* dys */
         8: .line 1253
      StackMap locals:
      StackMap stack:
            dload 10 /* dxs */
            dconst_0
            dcmpl
            ifne 13
            dload 12 /* dys */
            dconst_0
            dcmpl
            ifne 13
         9: .line 1256
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            ifnull 11
        10: .line 1257
            aload 0 /* this */
            iload 9 /* outcode0 */
            putfield com.sun.marlin.DStroker.cOutCode:I
        11: .line 1259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            invokevirtual com.sun.marlin.DStroker.lineTo:(DD)V
        12: .line 1260
            return
        13: .line 1264
      StackMap locals:
      StackMap stack:
            dload 10 /* dxs */
            invokestatic java.lang.Math.abs:(D)D
            ldc 0.1
            dcmpg
            ifge 17
            dload 12 /* dys */
            invokestatic java.lang.Math.abs:(D)D
            ldc 0.1
            dcmpg
            ifge 17
        14: .line 1265
            dload 10 /* dxs */
            dload 10 /* dxs */
            dmul
            dload 12 /* dys */
            dload 12 /* dys */
            dmul
            dadd
            invokestatic java.lang.Math.sqrt:(D)D
            dstore 18 /* len */
        start local 18 // double len
        15: .line 1266
            dload 10 /* dxs */
            dload 18 /* len */
            ddiv
            dstore 10 /* dxs */
        16: .line 1267
            dload 12 /* dys */
            dload 18 /* len */
            ddiv
            dstore 12 /* dys */
        end local 18 // double len
        17: .line 1269
      StackMap locals:
      StackMap stack:
            dload 14 /* dxf */
            invokestatic java.lang.Math.abs:(D)D
            ldc 0.1
            dcmpg
            ifge 21
            dload 16 /* dyf */
            invokestatic java.lang.Math.abs:(D)D
            ldc 0.1
            dcmpg
            ifge 21
        18: .line 1270
            dload 14 /* dxf */
            dload 14 /* dxf */
            dmul
            dload 16 /* dyf */
            dload 16 /* dyf */
            dmul
            dadd
            invokestatic java.lang.Math.sqrt:(D)D
            dstore 18 /* len */
        start local 18 // double len
        19: .line 1271
            dload 14 /* dxf */
            dload 18 /* len */
            ddiv
            dstore 14 /* dxf */
        20: .line 1272
            dload 16 /* dyf */
            dload 18 /* len */
            ddiv
            dstore 16 /* dyf */
        end local 18 // double len
        21: .line 1274
      StackMap locals:
      StackMap stack:
            dload 10 /* dxs */
            dload 12 /* dys */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            invokestatic com.sun.marlin.DStroker.computeOffset:(DDD[D)V
        22: .line 1275
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cdx:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cdy:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dload 10 /* dxs */
            dload 12 /* dys */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmx:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmy:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_0
            daload
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_1
            daload
            iload 9 /* outcode0 */
            invokevirtual com.sun.marlin.DStroker.drawJoin:(DDDDDDDDDDI)V
        23: .line 1277
            iconst_0
            istore 18 /* nSplits */
        start local 18 // int nSplits
        24: .line 1279
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lp:[D
            astore 20 /* l */
        start local 20 // double[] l
        25: .line 1281
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.monotonize:Z
            ifeq 31
        26: .line 1284
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.rdrCtx:Lcom/sun/marlin/DRendererContext;
            getfield com.sun.marlin.DRendererContext.monotonizer:Lcom/sun/marlin/DTransformingPathConsumer2D$CurveBasicMonotonizer;
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dload 1 /* x1 */
            dload 3 /* y1 */
            dload 5 /* x2 */
            dload 7 /* y2 */
            invokevirtual com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer.quad:(DDDDDD)Lcom/sun/marlin/DTransformingPathConsumer2D$CurveBasicMonotonizer;
        27: .line 1283
            astore 21 /* monotonizer */
        start local 21 // com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer monotonizer
        28: .line 1286
            aload 21 /* monotonizer */
            getfield com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer.nbSplits:I
            istore 18 /* nSplits */
        29: .line 1287
            aload 21 /* monotonizer */
            getfield com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer.middle:[D
            astore 19 /* mid */
        end local 21 // com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer monotonizer
        start local 19 // double[] mid
        30: .line 1288
            goto 35
        end local 19 // double[] mid
        31: .line 1290
      StackMap locals: com.sun.marlin.DStroker double double double double int double double double double int top double[]
      StackMap stack:
            aload 20 /* l */
            astore 19 /* mid */
        start local 19 // double[] mid
        32: .line 1291
            aload 19 /* mid */
            iconst_0
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            dastore
            aload 19 /* mid */
            iconst_1
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dastore
        33: .line 1292
            aload 19 /* mid */
            iconst_2
            dload 1 /* x1 */
            dastore
            aload 19 /* mid */
            iconst_3
            dload 3 /* y1 */
            dastore
        34: .line 1293
            aload 19 /* mid */
            iconst_4
            dload 5 /* x2 */
            dastore
            aload 19 /* mid */
            iconst_5
            dload 7 /* y2 */
            dastore
        35: .line 1295
      StackMap locals: com.sun.marlin.DStroker double double double double int double double double double int double[] double[]
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.rp:[D
            astore 21 /* r */
        start local 21 // double[] r
        36: .line 1297
            iconst_0
            istore 22 /* kind */
        start local 22 // int kind
        37: .line 1298
            iconst_0
            istore 23 /* i */
        start local 23 // int i
        38: iconst_0
            istore 24 /* off */
        start local 24 // int off
        39: goto 50
        40: .line 1299
      StackMap locals: com.sun.marlin.DStroker double double double double int double double double double int double[] double[] double[] int int int
      StackMap stack:
            aload 0 /* this */
            aload 19 /* mid */
            iload 24 /* off */
            aload 20 /* l */
            aload 21 /* r */
            invokevirtual com.sun.marlin.DStroker.computeOffsetQuad:([DI[D[D)I
            istore 22 /* kind */
        41: .line 1301
            aload 0 /* this */
            aload 20 /* l */
            iconst_0
            daload
            aload 20 /* l */
            iconst_1
            daload
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
        42: .line 1303
            iload 22 /* kind */
            tableswitch { // 4 - 6
                    4: 46
                    5: 48
                    6: 43
              default: 48
          }
        43: .line 1305
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 20 /* l */
            iconst_2
            daload
            aload 20 /* l */
            iconst_3
            daload
            aload 20 /* l */
            iconst_4
            daload
            aload 20 /* l */
            iconst_5
            daload
            invokevirtual com.sun.marlin.DStroker.emitQuadTo:(DDDD)V
        44: .line 1306
            aload 0 /* this */
            aload 21 /* r */
            iconst_0
            daload
            aload 21 /* r */
            iconst_1
            daload
            aload 21 /* r */
            iconst_2
            daload
            aload 21 /* r */
            iconst_3
            daload
            invokevirtual com.sun.marlin.DStroker.emitQuadToRev:(DDDD)V
        45: .line 1307
            goto 48
        46: .line 1309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 20 /* l */
            iconst_2
            daload
            aload 20 /* l */
            iconst_3
            daload
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
        47: .line 1310
            aload 0 /* this */
            aload 21 /* r */
            iconst_0
            daload
            aload 21 /* r */
            iconst_1
            daload
            invokevirtual com.sun.marlin.DStroker.emitLineToRev:(DD)V
        48: .line 1314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 21 /* r */
            iload 22 /* kind */
            iconst_2
            isub
            daload
            aload 21 /* r */
            iload 22 /* kind */
            iconst_1
            isub
            daload
            invokevirtual com.sun.marlin.DStroker.emitLineToRev:(DD)V
        49: .line 1298
            iinc 23 /* i */ 1
            iinc 24 /* off */ 4
      StackMap locals:
      StackMap stack:
        50: iload 23 /* i */
            iload 18 /* nSplits */
            if_icmple 40
        end local 24 // int off
        end local 23 // int i
        51: .line 1317
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DStroker.prev:I
        52: .line 1318
            aload 0 /* this */
            dload 5 /* x2 */
            putfield com.sun.marlin.DStroker.cx0:D
        53: .line 1319
            aload 0 /* this */
            dload 7 /* y2 */
            putfield com.sun.marlin.DStroker.cy0:D
        54: .line 1320
            aload 0 /* this */
            dload 14 /* dxf */
            putfield com.sun.marlin.DStroker.cdx:D
        55: .line 1321
            aload 0 /* this */
            dload 16 /* dyf */
            putfield com.sun.marlin.DStroker.cdy:D
        56: .line 1322
            aload 0 /* this */
            aload 20 /* l */
            iload 22 /* kind */
            iconst_2
            isub
            daload
            aload 21 /* r */
            iload 22 /* kind */
            iconst_2
            isub
            daload
            dsub
            ldc 2.0
            ddiv
            putfield com.sun.marlin.DStroker.cmx:D
        57: .line 1323
            aload 0 /* this */
            aload 20 /* l */
            iload 22 /* kind */
            iconst_1
            isub
            daload
            aload 21 /* r */
            iload 22 /* kind */
            iconst_1
            isub
            daload
            dsub
            ldc 2.0
            ddiv
            putfield com.sun.marlin.DStroker.cmy:D
        58: .line 1324
            return
        end local 22 // int kind
        end local 21 // double[] r
        end local 20 // double[] l
        end local 19 // double[] mid
        end local 18 // int nSplits
        end local 16 // double dyf
        end local 14 // double dxf
        end local 12 // double dys
        end local 10 // double dxs
        end local 9 // int outcode0
        end local 7 // double y2
        end local 5 // double x2
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   59     0         this  Lcom/sun/marlin/DStroker;
            0   59     1           x1  D
            0   59     3           y1  D
            0   59     5           x2  D
            0   59     7           y2  D
            0   59     9     outcode0  I
            1   59    10          dxs  D
            2   59    12          dys  D
            3   59    14          dxf  D
            4   59    16          dyf  D
           15   17    18          len  D
           19   21    18          len  D
           24   59    18      nSplits  I
           30   31    19          mid  [D
           32   59    19          mid  [D
           25   59    20            l  [D
           28   30    21  monotonizer  Lcom/sun/marlin/DTransformingPathConsumer2D$CurveBasicMonotonizer;
           36   59    21            r  [D
           37   59    22         kind  I
           38   51    23            i  I
           39   51    24          off  I
    MethodParameters:
          Name  Flags
      x1        final
      y1        final
      x2        final
      y2        final
      outcode0  final
}
SourceFile: "DStroker.java"
InnerClasses:
  final PolyStack = com.sun.marlin.DHelpers$PolyStack of com.sun.marlin.DHelpers
  public final CurveBasicMonotonizer = com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer of com.sun.marlin.DTransformingPathConsumer2D
  final CurveClipSplitter = com.sun.marlin.DTransformingPathConsumer2D$CurveClipSplitter of com.sun.marlin.DTransformingPathConsumer2D