public class android.animation.PropertyValuesHolder implements java.lang.Cloneable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.animation.PropertyValuesHolder
  super_class: java.lang.Object
{
  java.lang.String mPropertyName;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  protected android.util.Property mProperty;
    descriptor: Landroid/util/Property;
    flags: (0x0004) ACC_PROTECTED

  java.lang.reflect.Method mSetter;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x0000) 

  private java.lang.reflect.Method mGetter;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x0002) ACC_PRIVATE

  java.lang.Class mValueType;
    descriptor: Ljava/lang/Class;
    flags: (0x0000) 

  android.animation.Keyframes mKeyframes;
    descriptor: Landroid/animation/Keyframes;
    flags: (0x0000) 

  private static final android.animation.TypeEvaluator sIntEvaluator;
    descriptor: Landroid/animation/TypeEvaluator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final android.animation.TypeEvaluator sFloatEvaluator;
    descriptor: Landroid/animation/TypeEvaluator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static java.lang.Class[] FLOAT_VARIANTS;
    descriptor: [Ljava/lang/Class;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.Class[] INTEGER_VARIANTS;
    descriptor: [Ljava/lang/Class;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.Class[] DOUBLE_VARIANTS;
    descriptor: [Ljava/lang/Class;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final java.util.HashMap<java.lang.Class, java.util.HashMap<java.lang.String, java.lang.reflect.Method>> sSetterPropertyMap;
    descriptor: Ljava/util/HashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/Class;Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/reflect/Method;>;>;

  private static final java.util.HashMap<java.lang.Class, java.util.HashMap<java.lang.String, java.lang.reflect.Method>> sGetterPropertyMap;
    descriptor: Ljava/util/HashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/Class;Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/reflect/Method;>;>;

  final java.lang.Object[] mTmpValueArray;
    descriptor: [Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL

  private android.animation.TypeEvaluator mEvaluator;
    descriptor: Landroid/animation/TypeEvaluator;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Object mAnimatedValue;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  private android.animation.TypeConverter mConverter;
    descriptor: Landroid/animation/TypeConverter;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 82
            new android.animation.IntEvaluator
            dup
            invokespecial android.animation.IntEvaluator.<init>:()V
            putstatic android.animation.PropertyValuesHolder.sIntEvaluator:Landroid/animation/TypeEvaluator;
         1: .line 83
            new android.animation.FloatEvaluator
            dup
            invokespecial android.animation.FloatEvaluator.<init>:()V
            putstatic android.animation.PropertyValuesHolder.sFloatEvaluator:Landroid/animation/TypeEvaluator;
         2: .line 92
            bipush 6
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Float;
            aastore
            dup
            iconst_2
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_3
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_4
         3: .line 93
            ldc Ljava/lang/Double;
            aastore
            dup
            iconst_5
            ldc Ljava/lang/Integer;
            aastore
         4: .line 92
            putstatic android.animation.PropertyValuesHolder.FLOAT_VARIANTS:[Ljava/lang/Class;
         5: .line 94
            bipush 6
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_3
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_4
         6: .line 95
            ldc Ljava/lang/Float;
            aastore
            dup
            iconst_5
            ldc Ljava/lang/Double;
            aastore
         7: .line 94
            putstatic android.animation.PropertyValuesHolder.INTEGER_VARIANTS:[Ljava/lang/Class;
         8: .line 96
            bipush 6
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Double;
            aastore
            dup
            iconst_2
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_3
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_4
         9: .line 97
            ldc Ljava/lang/Float;
            aastore
            dup
            iconst_5
            ldc Ljava/lang/Integer;
            aastore
        10: .line 96
            putstatic android.animation.PropertyValuesHolder.DOUBLE_VARIANTS:[Ljava/lang/Class;
        11: .line 103
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
        12: .line 102
            putstatic android.animation.PropertyValuesHolder.sSetterPropertyMap:Ljava/util/HashMap;
        13: .line 105
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
        14: .line 104
            putstatic android.animation.PropertyValuesHolder.sGetterPropertyMap:Ljava/util/HashMap;
        15: .line 105
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.animation.PropertyValuesHolder this
        start local 1 // java.lang.String propertyName
         0: .line 134
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 58
            aload 0 /* this */
            aconst_null
            putfield android.animation.PropertyValuesHolder.mSetter:Ljava/lang/reflect/Method;
         2: .line 67
            aload 0 /* this */
            aconst_null
            putfield android.animation.PropertyValuesHolder.mGetter:Ljava/lang/reflect/Method;
         3: .line 78
            aload 0 /* this */
            aconst_null
            putfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
         4: .line 108
            aload 0 /* this */
            iconst_1
            anewarray java.lang.Object
            putfield android.animation.PropertyValuesHolder.mTmpValueArray:[Ljava/lang/Object;
         5: .line 135
            aload 0 /* this */
            aload 1 /* propertyName */
            putfield android.animation.PropertyValuesHolder.mPropertyName:Ljava/lang/String;
         6: .line 136
            return
        end local 1 // java.lang.String propertyName
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Landroid/animation/PropertyValuesHolder;
            0    7     1  propertyName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      propertyName  

  private void <init>(android.util.Property);
    descriptor: (Landroid/util/Property;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.animation.PropertyValuesHolder this
        start local 1 // android.util.Property property
         0: .line 142
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 58
            aload 0 /* this */
            aconst_null
            putfield android.animation.PropertyValuesHolder.mSetter:Ljava/lang/reflect/Method;
         2: .line 67
            aload 0 /* this */
            aconst_null
            putfield android.animation.PropertyValuesHolder.mGetter:Ljava/lang/reflect/Method;
         3: .line 78
            aload 0 /* this */
            aconst_null
            putfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
         4: .line 108
            aload 0 /* this */
            iconst_1
            anewarray java.lang.Object
            putfield android.animation.PropertyValuesHolder.mTmpValueArray:[Ljava/lang/Object;
         5: .line 143
            aload 0 /* this */
            aload 1 /* property */
            putfield android.animation.PropertyValuesHolder.mProperty:Landroid/util/Property;
         6: .line 144
            aload 1 /* property */
            ifnull 8
         7: .line 145
            aload 0 /* this */
            aload 1 /* property */
            invokevirtual android.util.Property.getName:()Ljava/lang/String;
            putfield android.animation.PropertyValuesHolder.mPropertyName:Ljava/lang/String;
         8: .line 147
      StackMap locals: android.animation.PropertyValuesHolder android.util.Property
      StackMap stack:
            return
        end local 1 // android.util.Property property
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Landroid/animation/PropertyValuesHolder;
            0    9     1  property  Landroid/util/Property;
    MethodParameters:
          Name  Flags
      property  

  public static android.animation.PropertyValuesHolder ofInt(java.lang.String, int[]);
    descriptor: (Ljava/lang/String;[I)Landroid/animation/PropertyValuesHolder;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String propertyName
        start local 1 // int[] values
         0: .line 157
            new android.animation.PropertyValuesHolder$IntPropertyValuesHolder
            dup
            aload 0 /* propertyName */
            aload 1 /* values */
            invokespecial android.animation.PropertyValuesHolder$IntPropertyValuesHolder.<init>:(Ljava/lang/String;[I)V
            areturn
        end local 1 // int[] values
        end local 0 // java.lang.String propertyName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  propertyName  Ljava/lang/String;
            0    1     1        values  [I
    MethodParameters:
              Name  Flags
      propertyName  
      values        

  public static android.animation.PropertyValuesHolder ofInt(android.util.Property<?, java.lang.Integer>, int[]);
    descriptor: (Landroid/util/Property;[I)Landroid/animation/PropertyValuesHolder;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.util.Property property
        start local 1 // int[] values
         0: .line 168
            new android.animation.PropertyValuesHolder$IntPropertyValuesHolder
            dup
            aload 0 /* property */
            aload 1 /* values */
            invokespecial android.animation.PropertyValuesHolder$IntPropertyValuesHolder.<init>:(Landroid/util/Property;[I)V
            areturn
        end local 1 // int[] values
        end local 0 // android.util.Property property
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  property  Landroid/util/Property<*Ljava/lang/Integer;>;
            0    1     1    values  [I
    Signature: (Landroid/util/Property<*Ljava/lang/Integer;>;[I)Landroid/animation/PropertyValuesHolder;
    MethodParameters:
          Name  Flags
      property  
      values    

  public static android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, int[][]);
    descriptor: (Ljava/lang/String;[[I)Landroid/animation/PropertyValuesHolder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // java.lang.String propertyName
        start local 1 // int[][] values
         0: .line 186
            aload 1 /* values */
            arraylength
            iconst_2
            if_icmpge 2
         1: .line 187
            new java.lang.IllegalArgumentException
            dup
            ldc "At least 2 values must be supplied"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 189
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* numParameters */
        start local 2 // int numParameters
         3: .line 190
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 14
         5: .line 191
      StackMap locals: int int
      StackMap stack:
            aload 1 /* values */
            iload 3 /* i */
            aaload
            ifnonnull 7
         6: .line 192
            new java.lang.IllegalArgumentException
            dup
            ldc "values must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 194
      StackMap locals:
      StackMap stack:
            aload 1 /* values */
            iload 3 /* i */
            aaload
            arraylength
            istore 4 /* length */
        start local 4 // int length
         8: .line 195
            iload 3 /* i */
            ifne 11
         9: .line 196
            iload 4 /* length */
            istore 2 /* numParameters */
        10: .line 197
            goto 13
      StackMap locals: int
      StackMap stack:
        11: iload 4 /* length */
            iload 2 /* numParameters */
            if_icmpeq 13
        12: .line 198
            new java.lang.IllegalArgumentException
            dup
            ldc "Values must all have the same length"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // int length
        13: .line 190
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 3 /* i */
            aload 1 /* values */
            arraylength
            if_icmplt 5
        end local 3 // int i
        15: .line 201
            new android.animation.IntArrayEvaluator
            dup
            iload 2 /* numParameters */
            newarray 10
            invokespecial android.animation.IntArrayEvaluator.<init>:([I)V
            astore 3 /* evaluator */
        start local 3 // android.animation.IntArrayEvaluator evaluator
        16: .line 202
            new android.animation.PropertyValuesHolder$MultiIntValuesHolder
            dup
            aload 0 /* propertyName */
            aconst_null
            aload 3 /* evaluator */
            aload 1 /* values */
            invokespecial android.animation.PropertyValuesHolder$MultiIntValuesHolder.<init>:(Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)V
            areturn
        end local 3 // android.animation.IntArrayEvaluator evaluator
        end local 2 // int numParameters
        end local 1 // int[][] values
        end local 0 // java.lang.String propertyName
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0   propertyName  Ljava/lang/String;
            0   17     1         values  [[I
            3   17     2  numParameters  I
            4   15     3              i  I
            8   13     4         length  I
           16   17     3      evaluator  Landroid/animation/IntArrayEvaluator;
    MethodParameters:
              Name  Flags
      propertyName  
      values        

  public static android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, android.graphics.Path);
    descriptor: (Ljava/lang/String;Landroid/graphics/Path;)Landroid/animation/PropertyValuesHolder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // java.lang.String propertyName
        start local 1 // android.graphics.Path path
         0: .line 218
            aload 1 /* path */
            invokestatic android.animation.KeyframeSet.ofPath:(Landroid/graphics/Path;)Landroid/animation/PathKeyframes;
            astore 2 /* keyframes */
        start local 2 // android.animation.Keyframes keyframes
         1: .line 219
            new android.animation.PropertyValuesHolder$PointFToIntArray
            dup
            invokespecial android.animation.PropertyValuesHolder$PointFToIntArray.<init>:()V
            astore 3 /* converter */
        start local 3 // android.animation.PropertyValuesHolder$PointFToIntArray converter
         2: .line 220
            new android.animation.PropertyValuesHolder$MultiIntValuesHolder
            dup
            aload 0 /* propertyName */
            aload 3 /* converter */
            aconst_null
            aload 2 /* keyframes */
            invokespecial android.animation.PropertyValuesHolder$MultiIntValuesHolder.<init>:(Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;Landroid/animation/Keyframes;)V
            areturn
        end local 3 // android.animation.PropertyValuesHolder$PointFToIntArray converter
        end local 2 // android.animation.Keyframes keyframes
        end local 1 // android.graphics.Path path
        end local 0 // java.lang.String propertyName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0  propertyName  Ljava/lang/String;
            0    3     1          path  Landroid/graphics/Path;
            1    3     2     keyframes  Landroid/animation/Keyframes;
            2    3     3     converter  Landroid/animation/PropertyValuesHolder$PointFToIntArray;
    MethodParameters:
              Name  Flags
      propertyName  
      path          

  public static <V> android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, android.animation.TypeConverter<V, int[]>, android.animation.TypeEvaluator<V>, V[]);
    descriptor: (Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/PropertyValuesHolder;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.lang.String propertyName
        start local 1 // android.animation.TypeConverter converter
        start local 2 // android.animation.TypeEvaluator evaluator
        start local 3 // java.lang.Object[] values
         0: .line 242
            new android.animation.PropertyValuesHolder$MultiIntValuesHolder
            dup
            aload 0 /* propertyName */
            aload 1 /* converter */
            aload 2 /* evaluator */
            aload 3 /* values */
            invokespecial android.animation.PropertyValuesHolder$MultiIntValuesHolder.<init>:(Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)V
            areturn
        end local 3 // java.lang.Object[] values
        end local 2 // android.animation.TypeEvaluator evaluator
        end local 1 // android.animation.TypeConverter converter
        end local 0 // java.lang.String propertyName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  propertyName  Ljava/lang/String;
            0    1     1     converter  Landroid/animation/TypeConverter<TV;[I>;
            0    1     2     evaluator  Landroid/animation/TypeEvaluator<TV;>;
            0    1     3        values  [Ljava/lang/Object;
    Signature: <V:Ljava/lang/Object;>(Ljava/lang/String;Landroid/animation/TypeConverter<TV;[I>;Landroid/animation/TypeEvaluator<TV;>;[TV;)Landroid/animation/PropertyValuesHolder;
    RuntimeVisibleAnnotations: 
      java.lang.SafeVarargs()
    MethodParameters:
              Name  Flags
      propertyName  
      converter     
      evaluator     
      values        

  public static <T> android.animation.PropertyValuesHolder ofMultiInt(java.lang.String, android.animation.TypeConverter<T, int[]>, android.animation.TypeEvaluator<T>, android.animation.Keyframe[]);
    descriptor: (Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Landroid/animation/Keyframe;)Landroid/animation/PropertyValuesHolder;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // java.lang.String propertyName
        start local 1 // android.animation.TypeConverter converter
        start local 2 // android.animation.TypeEvaluator evaluator
        start local 3 // android.animation.Keyframe[] values
         0: .line 264
            aload 3 /* values */
            invokestatic android.animation.KeyframeSet.ofKeyframe:([Landroid/animation/Keyframe;)Landroid/animation/KeyframeSet;
            astore 4 /* keyframeSet */
        start local 4 // android.animation.KeyframeSet keyframeSet
         1: .line 265
            new android.animation.PropertyValuesHolder$MultiIntValuesHolder
            dup
            aload 0 /* propertyName */
            aload 1 /* converter */
            aload 2 /* evaluator */
            aload 4 /* keyframeSet */
            invokespecial android.animation.PropertyValuesHolder$MultiIntValuesHolder.<init>:(Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;Landroid/animation/Keyframes;)V
            areturn
        end local 4 // android.animation.KeyframeSet keyframeSet
        end local 3 // android.animation.Keyframe[] values
        end local 2 // android.animation.TypeEvaluator evaluator
        end local 1 // android.animation.TypeConverter converter
        end local 0 // java.lang.String propertyName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0  propertyName  Ljava/lang/String;
            0    2     1     converter  Landroid/animation/TypeConverter<TT;[I>;
            0    2     2     evaluator  Landroid/animation/TypeEvaluator<TT;>;
            0    2     3        values  [Landroid/animation/Keyframe;
            1    2     4   keyframeSet  Landroid/animation/KeyframeSet;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Landroid/animation/TypeConverter<TT;[I>;Landroid/animation/TypeEvaluator<TT;>;[Landroid/animation/Keyframe;)Landroid/animation/PropertyValuesHolder;
    MethodParameters:
              Name  Flags
      propertyName  
      converter     
      evaluator     
      values        

  public static android.animation.PropertyValuesHolder ofFloat(java.lang.String, float[]);
    descriptor: (Ljava/lang/String;[F)Landroid/animation/PropertyValuesHolder;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String propertyName
        start local 1 // float[] values
         0: .line 276
            new android.animation.PropertyValuesHolder$FloatPropertyValuesHolder
            dup
            aload 0 /* propertyName */
            aload 1 /* values */
            invokespecial android.animation.PropertyValuesHolder$FloatPropertyValuesHolder.<init>:(Ljava/lang/String;[F)V
            areturn
        end local 1 // float[] values
        end local 0 // java.lang.String propertyName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  propertyName  Ljava/lang/String;
            0    1     1        values  [F
    MethodParameters:
              Name  Flags
      propertyName  
      values        

  public static android.animation.PropertyValuesHolder ofFloat(android.util.Property<?, java.lang.Float>, float[]);
    descriptor: (Landroid/util/Property;[F)Landroid/animation/PropertyValuesHolder;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.util.Property property
        start local 1 // float[] values
         0: .line 287
            new android.animation.PropertyValuesHolder$FloatPropertyValuesHolder
            dup
            aload 0 /* property */
            aload 1 /* values */
            invokespecial android.animation.PropertyValuesHolder$FloatPropertyValuesHolder.<init>:(Landroid/util/Property;[F)V
            areturn
        end local 1 // float[] values
        end local 0 // android.util.Property property
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  property  Landroid/util/Property<*Ljava/lang/Float;>;
            0    1     1    values  [F
    Signature: (Landroid/util/Property<*Ljava/lang/Float;>;[F)Landroid/animation/PropertyValuesHolder;
    MethodParameters:
          Name  Flags
      property  
      values    

  public static android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, float[][]);
    descriptor: (Ljava/lang/String;[[F)Landroid/animation/PropertyValuesHolder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // java.lang.String propertyName
        start local 1 // float[][] values
         0: .line 305
            aload 1 /* values */
            arraylength
            iconst_2
            if_icmpge 2
         1: .line 306
            new java.lang.IllegalArgumentException
            dup
            ldc "At least 2 values must be supplied"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 308
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* numParameters */
        start local 2 // int numParameters
         3: .line 309
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 14
         5: .line 310
      StackMap locals: int int
      StackMap stack:
            aload 1 /* values */
            iload 3 /* i */
            aaload
            ifnonnull 7
         6: .line 311
            new java.lang.IllegalArgumentException
            dup
            ldc "values must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 313
      StackMap locals:
      StackMap stack:
            aload 1 /* values */
            iload 3 /* i */
            aaload
            arraylength
            istore 4 /* length */
        start local 4 // int length
         8: .line 314
            iload 3 /* i */
            ifne 11
         9: .line 315
            iload 4 /* length */
            istore 2 /* numParameters */
        10: .line 316
            goto 13
      StackMap locals: int
      StackMap stack:
        11: iload 4 /* length */
            iload 2 /* numParameters */
            if_icmpeq 13
        12: .line 317
            new java.lang.IllegalArgumentException
            dup
            ldc "Values must all have the same length"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // int length
        13: .line 309
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 3 /* i */
            aload 1 /* values */
            arraylength
            if_icmplt 5
        end local 3 // int i
        15: .line 320
            new android.animation.FloatArrayEvaluator
            dup
            iload 2 /* numParameters */
            newarray 6
            invokespecial android.animation.FloatArrayEvaluator.<init>:([F)V
            astore 3 /* evaluator */
        start local 3 // android.animation.FloatArrayEvaluator evaluator
        16: .line 321
            new android.animation.PropertyValuesHolder$MultiFloatValuesHolder
            dup
            aload 0 /* propertyName */
            aconst_null
            aload 3 /* evaluator */
            aload 1 /* values */
            invokespecial android.animation.PropertyValuesHolder$MultiFloatValuesHolder.<init>:(Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)V
            areturn
        end local 3 // android.animation.FloatArrayEvaluator evaluator
        end local 2 // int numParameters
        end local 1 // float[][] values
        end local 0 // java.lang.String propertyName
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0   propertyName  Ljava/lang/String;
            0   17     1         values  [[F
            3   17     2  numParameters  I
            4   15     3              i  I
            8   13     4         length  I
           16   17     3      evaluator  Landroid/animation/FloatArrayEvaluator;
    MethodParameters:
              Name  Flags
      propertyName  
      values        

  public static android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, android.graphics.Path);
    descriptor: (Ljava/lang/String;Landroid/graphics/Path;)Landroid/animation/PropertyValuesHolder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // java.lang.String propertyName
        start local 1 // android.graphics.Path path
         0: .line 337
            aload 1 /* path */
            invokestatic android.animation.KeyframeSet.ofPath:(Landroid/graphics/Path;)Landroid/animation/PathKeyframes;
            astore 2 /* keyframes */
        start local 2 // android.animation.Keyframes keyframes
         1: .line 338
            new android.animation.PropertyValuesHolder$PointFToFloatArray
            dup
            invokespecial android.animation.PropertyValuesHolder$PointFToFloatArray.<init>:()V
            astore 3 /* converter */
        start local 3 // android.animation.PropertyValuesHolder$PointFToFloatArray converter
         2: .line 339
            new android.animation.PropertyValuesHolder$MultiFloatValuesHolder
            dup
            aload 0 /* propertyName */
            aload 3 /* converter */
            aconst_null
            aload 2 /* keyframes */
            invokespecial android.animation.PropertyValuesHolder$MultiFloatValuesHolder.<init>:(Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;Landroid/animation/Keyframes;)V
            areturn
        end local 3 // android.animation.PropertyValuesHolder$PointFToFloatArray converter
        end local 2 // android.animation.Keyframes keyframes
        end local 1 // android.graphics.Path path
        end local 0 // java.lang.String propertyName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0  propertyName  Ljava/lang/String;
            0    3     1          path  Landroid/graphics/Path;
            1    3     2     keyframes  Landroid/animation/Keyframes;
            2    3     3     converter  Landroid/animation/PropertyValuesHolder$PointFToFloatArray;
    MethodParameters:
              Name  Flags
      propertyName  
      path          

  public static <V> android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, android.animation.TypeConverter<V, float[]>, android.animation.TypeEvaluator<V>, V[]);
    descriptor: (Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/PropertyValuesHolder;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.lang.String propertyName
        start local 1 // android.animation.TypeConverter converter
        start local 2 // android.animation.TypeEvaluator evaluator
        start local 3 // java.lang.Object[] values
         0: .line 360
            new android.animation.PropertyValuesHolder$MultiFloatValuesHolder
            dup
            aload 0 /* propertyName */
            aload 1 /* converter */
            aload 2 /* evaluator */
            aload 3 /* values */
            invokespecial android.animation.PropertyValuesHolder$MultiFloatValuesHolder.<init>:(Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)V
            areturn
        end local 3 // java.lang.Object[] values
        end local 2 // android.animation.TypeEvaluator evaluator
        end local 1 // android.animation.TypeConverter converter
        end local 0 // java.lang.String propertyName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  propertyName  Ljava/lang/String;
            0    1     1     converter  Landroid/animation/TypeConverter<TV;[F>;
            0    1     2     evaluator  Landroid/animation/TypeEvaluator<TV;>;
            0    1     3        values  [Ljava/lang/Object;
    Signature: <V:Ljava/lang/Object;>(Ljava/lang/String;Landroid/animation/TypeConverter<TV;[F>;Landroid/animation/TypeEvaluator<TV;>;[TV;)Landroid/animation/PropertyValuesHolder;
    RuntimeVisibleAnnotations: 
      java.lang.SafeVarargs()
    MethodParameters:
              Name  Flags
      propertyName  
      converter     
      evaluator     
      values        

  public static <T> android.animation.PropertyValuesHolder ofMultiFloat(java.lang.String, android.animation.TypeConverter<T, float[]>, android.animation.TypeEvaluator<T>, android.animation.Keyframe[]);
    descriptor: (Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Landroid/animation/Keyframe;)Landroid/animation/PropertyValuesHolder;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // java.lang.String propertyName
        start local 1 // android.animation.TypeConverter converter
        start local 2 // android.animation.TypeEvaluator evaluator
        start local 3 // android.animation.Keyframe[] values
         0: .line 382
            aload 3 /* values */
            invokestatic android.animation.KeyframeSet.ofKeyframe:([Landroid/animation/Keyframe;)Landroid/animation/KeyframeSet;
            astore 4 /* keyframeSet */
        start local 4 // android.animation.KeyframeSet keyframeSet
         1: .line 383
            new android.animation.PropertyValuesHolder$MultiFloatValuesHolder
            dup
            aload 0 /* propertyName */
            aload 1 /* converter */
            aload 2 /* evaluator */
            aload 4 /* keyframeSet */
            invokespecial android.animation.PropertyValuesHolder$MultiFloatValuesHolder.<init>:(Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;Landroid/animation/Keyframes;)V
            areturn
        end local 4 // android.animation.KeyframeSet keyframeSet
        end local 3 // android.animation.Keyframe[] values
        end local 2 // android.animation.TypeEvaluator evaluator
        end local 1 // android.animation.TypeConverter converter
        end local 0 // java.lang.String propertyName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0  propertyName  Ljava/lang/String;
            0    2     1     converter  Landroid/animation/TypeConverter<TT;[F>;
            0    2     2     evaluator  Landroid/animation/TypeEvaluator<TT;>;
            0    2     3        values  [Landroid/animation/Keyframe;
            1    2     4   keyframeSet  Landroid/animation/KeyframeSet;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Landroid/animation/TypeConverter<TT;[F>;Landroid/animation/TypeEvaluator<TT;>;[Landroid/animation/Keyframe;)Landroid/animation/PropertyValuesHolder;
    MethodParameters:
              Name  Flags
      propertyName  
      converter     
      evaluator     
      values        

  public static android.animation.PropertyValuesHolder ofObject(java.lang.String, android.animation.TypeEvaluator, java.lang.Object[]);
    descriptor: (Ljava/lang/String;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/PropertyValuesHolder;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.String propertyName
        start local 1 // android.animation.TypeEvaluator evaluator
        start local 2 // java.lang.Object[] values
         0: .line 405
            new android.animation.PropertyValuesHolder
            dup
            aload 0 /* propertyName */
            invokespecial android.animation.PropertyValuesHolder.<init>:(Ljava/lang/String;)V
            astore 3 /* pvh */
        start local 3 // android.animation.PropertyValuesHolder pvh
         1: .line 406
            aload 3 /* pvh */
            aload 2 /* values */
            invokevirtual android.animation.PropertyValuesHolder.setObjectValues:([Ljava/lang/Object;)V
         2: .line 407
            aload 3 /* pvh */
            aload 1 /* evaluator */
            invokevirtual android.animation.PropertyValuesHolder.setEvaluator:(Landroid/animation/TypeEvaluator;)V
         3: .line 408
            aload 3 /* pvh */
            areturn
        end local 3 // android.animation.PropertyValuesHolder pvh
        end local 2 // java.lang.Object[] values
        end local 1 // android.animation.TypeEvaluator evaluator
        end local 0 // java.lang.String propertyName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0  propertyName  Ljava/lang/String;
            0    4     1     evaluator  Landroid/animation/TypeEvaluator;
            0    4     2        values  [Ljava/lang/Object;
            1    4     3           pvh  Landroid/animation/PropertyValuesHolder;
    MethodParameters:
              Name  Flags
      propertyName  
      evaluator     
      values        

  public static android.animation.PropertyValuesHolder ofObject(java.lang.String, android.animation.TypeConverter<android.graphics.PointF, ?>, android.graphics.Path);
    descriptor: (Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/graphics/Path;)Landroid/animation/PropertyValuesHolder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.String propertyName
        start local 1 // android.animation.TypeConverter converter
        start local 2 // android.graphics.Path path
         0: .line 429
            new android.animation.PropertyValuesHolder
            dup
            aload 0 /* propertyName */
            invokespecial android.animation.PropertyValuesHolder.<init>:(Ljava/lang/String;)V
            astore 3 /* pvh */
        start local 3 // android.animation.PropertyValuesHolder pvh
         1: .line 430
            aload 3 /* pvh */
            aload 2 /* path */
            invokestatic android.animation.KeyframeSet.ofPath:(Landroid/graphics/Path;)Landroid/animation/PathKeyframes;
            putfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
         2: .line 431
            aload 3 /* pvh */
            ldc Landroid/graphics/PointF;
            putfield android.animation.PropertyValuesHolder.mValueType:Ljava/lang/Class;
         3: .line 432
            aload 3 /* pvh */
            aload 1 /* converter */
            invokevirtual android.animation.PropertyValuesHolder.setConverter:(Landroid/animation/TypeConverter;)V
         4: .line 433
            aload 3 /* pvh */
            areturn
        end local 3 // android.animation.PropertyValuesHolder pvh
        end local 2 // android.graphics.Path path
        end local 1 // android.animation.TypeConverter converter
        end local 0 // java.lang.String propertyName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0  propertyName  Ljava/lang/String;
            0    5     1     converter  Landroid/animation/TypeConverter<Landroid/graphics/PointF;*>;
            0    5     2          path  Landroid/graphics/Path;
            1    5     3           pvh  Landroid/animation/PropertyValuesHolder;
    Signature: (Ljava/lang/String;Landroid/animation/TypeConverter<Landroid/graphics/PointF;*>;Landroid/graphics/Path;)Landroid/animation/PropertyValuesHolder;
    MethodParameters:
              Name  Flags
      propertyName  
      converter     
      path          

  public static <V> android.animation.PropertyValuesHolder ofObject(android.util.Property, android.animation.TypeEvaluator<V>, V[]);
    descriptor: (Landroid/util/Property;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/PropertyValuesHolder;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.util.Property property
        start local 1 // android.animation.TypeEvaluator evaluator
        start local 2 // java.lang.Object[] values
         0: .line 456
            new android.animation.PropertyValuesHolder
            dup
            aload 0 /* property */
            invokespecial android.animation.PropertyValuesHolder.<init>:(Landroid/util/Property;)V
            astore 3 /* pvh */
        start local 3 // android.animation.PropertyValuesHolder pvh
         1: .line 457
            aload 3 /* pvh */
            aload 2 /* values */
            invokevirtual android.animation.PropertyValuesHolder.setObjectValues:([Ljava/lang/Object;)V
         2: .line 458
            aload 3 /* pvh */
            aload 1 /* evaluator */
            invokevirtual android.animation.PropertyValuesHolder.setEvaluator:(Landroid/animation/TypeEvaluator;)V
         3: .line 459
            aload 3 /* pvh */
            areturn
        end local 3 // android.animation.PropertyValuesHolder pvh
        end local 2 // java.lang.Object[] values
        end local 1 // android.animation.TypeEvaluator evaluator
        end local 0 // android.util.Property property
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0   property  Landroid/util/Property;
            0    4     1  evaluator  Landroid/animation/TypeEvaluator<TV;>;
            0    4     2     values  [Ljava/lang/Object;
            1    4     3        pvh  Landroid/animation/PropertyValuesHolder;
    Signature: <V:Ljava/lang/Object;>(Landroid/util/Property;Landroid/animation/TypeEvaluator<TV;>;[TV;)Landroid/animation/PropertyValuesHolder;
    RuntimeVisibleAnnotations: 
      java.lang.SafeVarargs()
    MethodParameters:
           Name  Flags
      property   
      evaluator  
      values     

  public static <T, V> android.animation.PropertyValuesHolder ofObject(android.util.Property<?, V>, android.animation.TypeConverter<T, V>, android.animation.TypeEvaluator<T>, T[]);
    descriptor: (Landroid/util/Property;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/PropertyValuesHolder;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // android.util.Property property
        start local 1 // android.animation.TypeConverter converter
        start local 2 // android.animation.TypeEvaluator evaluator
        start local 3 // java.lang.Object[] values
         0: .line 489
            new android.animation.PropertyValuesHolder
            dup
            aload 0 /* property */
            invokespecial android.animation.PropertyValuesHolder.<init>:(Landroid/util/Property;)V
            astore 4 /* pvh */
        start local 4 // android.animation.PropertyValuesHolder pvh
         1: .line 490
            aload 4 /* pvh */
            aload 1 /* converter */
            invokevirtual android.animation.PropertyValuesHolder.setConverter:(Landroid/animation/TypeConverter;)V
         2: .line 491
            aload 4 /* pvh */
            aload 3 /* values */
            invokevirtual android.animation.PropertyValuesHolder.setObjectValues:([Ljava/lang/Object;)V
         3: .line 492
            aload 4 /* pvh */
            aload 2 /* evaluator */
            invokevirtual android.animation.PropertyValuesHolder.setEvaluator:(Landroid/animation/TypeEvaluator;)V
         4: .line 493
            aload 4 /* pvh */
            areturn
        end local 4 // android.animation.PropertyValuesHolder pvh
        end local 3 // java.lang.Object[] values
        end local 2 // android.animation.TypeEvaluator evaluator
        end local 1 // android.animation.TypeConverter converter
        end local 0 // android.util.Property property
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0   property  Landroid/util/Property<*TV;>;
            0    5     1  converter  Landroid/animation/TypeConverter<TT;TV;>;
            0    5     2  evaluator  Landroid/animation/TypeEvaluator<TT;>;
            0    5     3     values  [Ljava/lang/Object;
            1    5     4        pvh  Landroid/animation/PropertyValuesHolder;
    Signature: <T:Ljava/lang/Object;V:Ljava/lang/Object;>(Landroid/util/Property<*TV;>;Landroid/animation/TypeConverter<TT;TV;>;Landroid/animation/TypeEvaluator<TT;>;[TT;)Landroid/animation/PropertyValuesHolder;
    RuntimeVisibleAnnotations: 
      java.lang.SafeVarargs()
    MethodParameters:
           Name  Flags
      property   
      converter  
      evaluator  
      values     

  public static <V> android.animation.PropertyValuesHolder ofObject(android.util.Property<?, V>, android.animation.TypeConverter<android.graphics.PointF, V>, android.graphics.Path);
    descriptor: (Landroid/util/Property;Landroid/animation/TypeConverter;Landroid/graphics/Path;)Landroid/animation/PropertyValuesHolder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // android.util.Property property
        start local 1 // android.animation.TypeConverter converter
        start local 2 // android.graphics.Path path
         0: .line 514
            new android.animation.PropertyValuesHolder
            dup
            aload 0 /* property */
            invokespecial android.animation.PropertyValuesHolder.<init>:(Landroid/util/Property;)V
            astore 3 /* pvh */
        start local 3 // android.animation.PropertyValuesHolder pvh
         1: .line 515
            aload 3 /* pvh */
            aload 2 /* path */
            invokestatic android.animation.KeyframeSet.ofPath:(Landroid/graphics/Path;)Landroid/animation/PathKeyframes;
            putfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
         2: .line 516
            aload 3 /* pvh */
            ldc Landroid/graphics/PointF;
            putfield android.animation.PropertyValuesHolder.mValueType:Ljava/lang/Class;
         3: .line 517
            aload 3 /* pvh */
            aload 1 /* converter */
            invokevirtual android.animation.PropertyValuesHolder.setConverter:(Landroid/animation/TypeConverter;)V
         4: .line 518
            aload 3 /* pvh */
            areturn
        end local 3 // android.animation.PropertyValuesHolder pvh
        end local 2 // android.graphics.Path path
        end local 1 // android.animation.TypeConverter converter
        end local 0 // android.util.Property property
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0   property  Landroid/util/Property<*TV;>;
            0    5     1  converter  Landroid/animation/TypeConverter<Landroid/graphics/PointF;TV;>;
            0    5     2       path  Landroid/graphics/Path;
            1    5     3        pvh  Landroid/animation/PropertyValuesHolder;
    Signature: <V:Ljava/lang/Object;>(Landroid/util/Property<*TV;>;Landroid/animation/TypeConverter<Landroid/graphics/PointF;TV;>;Landroid/graphics/Path;)Landroid/animation/PropertyValuesHolder;
    MethodParameters:
           Name  Flags
      property   
      converter  
      path       

  public static android.animation.PropertyValuesHolder ofKeyframe(java.lang.String, android.animation.Keyframe[]);
    descriptor: (Ljava/lang/String;[Landroid/animation/Keyframe;)Landroid/animation/PropertyValuesHolder;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.String propertyName
        start local 1 // android.animation.Keyframe[] values
         0: .line 541
            aload 1 /* values */
            invokestatic android.animation.KeyframeSet.ofKeyframe:([Landroid/animation/Keyframe;)Landroid/animation/KeyframeSet;
            astore 2 /* keyframeSet */
        start local 2 // android.animation.KeyframeSet keyframeSet
         1: .line 542
            aload 0 /* propertyName */
            aload 2 /* keyframeSet */
            invokestatic android.animation.PropertyValuesHolder.ofKeyframes:(Ljava/lang/String;Landroid/animation/Keyframes;)Landroid/animation/PropertyValuesHolder;
            areturn
        end local 2 // android.animation.KeyframeSet keyframeSet
        end local 1 // android.animation.Keyframe[] values
        end local 0 // java.lang.String propertyName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0  propertyName  Ljava/lang/String;
            0    2     1        values  [Landroid/animation/Keyframe;
            1    2     2   keyframeSet  Landroid/animation/KeyframeSet;
    MethodParameters:
              Name  Flags
      propertyName  
      values        

  public static android.animation.PropertyValuesHolder ofKeyframe(android.util.Property, android.animation.Keyframe[]);
    descriptor: (Landroid/util/Property;[Landroid/animation/Keyframe;)Landroid/animation/PropertyValuesHolder;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.util.Property property
        start local 1 // android.animation.Keyframe[] values
         0: .line 562
            aload 1 /* values */
            invokestatic android.animation.KeyframeSet.ofKeyframe:([Landroid/animation/Keyframe;)Landroid/animation/KeyframeSet;
            astore 2 /* keyframeSet */
        start local 2 // android.animation.KeyframeSet keyframeSet
         1: .line 563
            aload 0 /* property */
            aload 2 /* keyframeSet */
            invokestatic android.animation.PropertyValuesHolder.ofKeyframes:(Landroid/util/Property;Landroid/animation/Keyframes;)Landroid/animation/PropertyValuesHolder;
            areturn
        end local 2 // android.animation.KeyframeSet keyframeSet
        end local 1 // android.animation.Keyframe[] values
        end local 0 // android.util.Property property
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0     property  Landroid/util/Property;
            0    2     1       values  [Landroid/animation/Keyframe;
            1    2     2  keyframeSet  Landroid/animation/KeyframeSet;
    MethodParameters:
          Name  Flags
      property  
      values    

  static android.animation.PropertyValuesHolder ofKeyframes(java.lang.String, android.animation.Keyframes);
    descriptor: (Ljava/lang/String;Landroid/animation/Keyframes;)Landroid/animation/PropertyValuesHolder;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.String propertyName
        start local 1 // android.animation.Keyframes keyframes
         0: .line 567
            aload 1 /* keyframes */
            instanceof android.animation.Keyframes$IntKeyframes
            ifeq 2
         1: .line 568
            new android.animation.PropertyValuesHolder$IntPropertyValuesHolder
            dup
            aload 0 /* propertyName */
            aload 1 /* keyframes */
            checkcast android.animation.Keyframes$IntKeyframes
            invokespecial android.animation.PropertyValuesHolder$IntPropertyValuesHolder.<init>:(Ljava/lang/String;Landroid/animation/Keyframes$IntKeyframes;)V
            areturn
         2: .line 569
      StackMap locals:
      StackMap stack:
            aload 1 /* keyframes */
            instanceof android.animation.Keyframes$FloatKeyframes
            ifeq 6
         3: .line 570
            new android.animation.PropertyValuesHolder$FloatPropertyValuesHolder
            dup
            aload 0 /* propertyName */
         4: .line 571
            aload 1 /* keyframes */
            checkcast android.animation.Keyframes$FloatKeyframes
         5: .line 570
            invokespecial android.animation.PropertyValuesHolder$FloatPropertyValuesHolder.<init>:(Ljava/lang/String;Landroid/animation/Keyframes$FloatKeyframes;)V
            areturn
         6: .line 573
      StackMap locals:
      StackMap stack:
            new android.animation.PropertyValuesHolder
            dup
            aload 0 /* propertyName */
            invokespecial android.animation.PropertyValuesHolder.<init>:(Ljava/lang/String;)V
            astore 2 /* pvh */
        start local 2 // android.animation.PropertyValuesHolder pvh
         7: .line 574
            aload 2 /* pvh */
            aload 1 /* keyframes */
            putfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
         8: .line 575
            aload 2 /* pvh */
            aload 1 /* keyframes */
            invokeinterface android.animation.Keyframes.getType:()Ljava/lang/Class;
            putfield android.animation.PropertyValuesHolder.mValueType:Ljava/lang/Class;
         9: .line 576
            aload 2 /* pvh */
            areturn
        end local 2 // android.animation.PropertyValuesHolder pvh
        end local 1 // android.animation.Keyframes keyframes
        end local 0 // java.lang.String propertyName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0  propertyName  Ljava/lang/String;
            0   10     1     keyframes  Landroid/animation/Keyframes;
            7   10     2           pvh  Landroid/animation/PropertyValuesHolder;
    MethodParameters:
              Name  Flags
      propertyName  
      keyframes     

  static android.animation.PropertyValuesHolder ofKeyframes(android.util.Property, android.animation.Keyframes);
    descriptor: (Landroid/util/Property;Landroid/animation/Keyframes;)Landroid/animation/PropertyValuesHolder;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // android.util.Property property
        start local 1 // android.animation.Keyframes keyframes
         0: .line 581
            aload 1 /* keyframes */
            instanceof android.animation.Keyframes$IntKeyframes
            ifeq 2
         1: .line 582
            new android.animation.PropertyValuesHolder$IntPropertyValuesHolder
            dup
            aload 0 /* property */
            aload 1 /* keyframes */
            checkcast android.animation.Keyframes$IntKeyframes
            invokespecial android.animation.PropertyValuesHolder$IntPropertyValuesHolder.<init>:(Landroid/util/Property;Landroid/animation/Keyframes$IntKeyframes;)V
            areturn
         2: .line 583
      StackMap locals:
      StackMap stack:
            aload 1 /* keyframes */
            instanceof android.animation.Keyframes$FloatKeyframes
            ifeq 4
         3: .line 584
            new android.animation.PropertyValuesHolder$FloatPropertyValuesHolder
            dup
            aload 0 /* property */
            aload 1 /* keyframes */
            checkcast android.animation.Keyframes$FloatKeyframes
            invokespecial android.animation.PropertyValuesHolder$FloatPropertyValuesHolder.<init>:(Landroid/util/Property;Landroid/animation/Keyframes$FloatKeyframes;)V
            areturn
         4: .line 586
      StackMap locals:
      StackMap stack:
            new android.animation.PropertyValuesHolder
            dup
            aload 0 /* property */
            invokespecial android.animation.PropertyValuesHolder.<init>:(Landroid/util/Property;)V
            astore 2 /* pvh */
        start local 2 // android.animation.PropertyValuesHolder pvh
         5: .line 587
            aload 2 /* pvh */
            aload 1 /* keyframes */
            putfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
         6: .line 588
            aload 2 /* pvh */
            aload 1 /* keyframes */
            invokeinterface android.animation.Keyframes.getType:()Ljava/lang/Class;
            putfield android.animation.PropertyValuesHolder.mValueType:Ljava/lang/Class;
         7: .line 589
            aload 2 /* pvh */
            areturn
        end local 2 // android.animation.PropertyValuesHolder pvh
        end local 1 // android.animation.Keyframes keyframes
        end local 0 // android.util.Property property
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0   property  Landroid/util/Property;
            0    8     1  keyframes  Landroid/animation/Keyframes;
            5    8     2        pvh  Landroid/animation/PropertyValuesHolder;
    MethodParameters:
           Name  Flags
      property   
      keyframes  

  public void setIntValues(int[]);
    descriptor: ([I)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.animation.PropertyValuesHolder this
        start local 1 // int[] values
         0: .line 607
            aload 0 /* this */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            putfield android.animation.PropertyValuesHolder.mValueType:Ljava/lang/Class;
         1: .line 608
            aload 0 /* this */
            aload 1 /* values */
            invokestatic android.animation.KeyframeSet.ofInt:([I)Landroid/animation/KeyframeSet;
            putfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
         2: .line 609
            return
        end local 1 // int[] values
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/animation/PropertyValuesHolder;
            0    3     1  values  [I
    MethodParameters:
        Name  Flags
      values  

  public void setFloatValues(float[]);
    descriptor: ([F)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.animation.PropertyValuesHolder this
        start local 1 // float[] values
         0: .line 625
            aload 0 /* this */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            putfield android.animation.PropertyValuesHolder.mValueType:Ljava/lang/Class;
         1: .line 626
            aload 0 /* this */
            aload 1 /* values */
            invokestatic android.animation.KeyframeSet.ofFloat:([F)Landroid/animation/KeyframeSet;
            putfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
         2: .line 627
            return
        end local 1 // float[] values
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Landroid/animation/PropertyValuesHolder;
            0    3     1  values  [F
    MethodParameters:
        Name  Flags
      values  

  public void setKeyframes(android.animation.Keyframe[]);
    descriptor: ([Landroid/animation/Keyframe;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // android.animation.PropertyValuesHolder this
        start local 1 // android.animation.Keyframe[] values
         0: .line 635
            aload 1 /* values */
            arraylength
            istore 2 /* numKeyframes */
        start local 2 // int numKeyframes
         1: .line 636
            iload 2 /* numKeyframes */
            iconst_2
            invokestatic java.lang.Math.max:(II)I
            anewarray android.animation.Keyframe
            astore 3 /* keyframes */
        start local 3 // android.animation.Keyframe[] keyframes
         2: .line 637
            aload 0 /* this */
            aload 1 /* values */
            iconst_0
            aaload
            invokevirtual android.animation.Keyframe.getType:()Ljava/lang/Class;
            putfield android.animation.PropertyValuesHolder.mValueType:Ljava/lang/Class;
         3: .line 638
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 639
      StackMap locals: int android.animation.Keyframe[] int
      StackMap stack:
            aload 3 /* keyframes */
            iload 4 /* i */
            aload 1 /* values */
            iload 4 /* i */
            aaload
            aastore
         6: .line 638
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 2 /* numKeyframes */
            if_icmplt 5
        end local 4 // int i
         8: .line 641
            aload 0 /* this */
            new android.animation.KeyframeSet
            dup
            aload 3 /* keyframes */
            invokespecial android.animation.KeyframeSet.<init>:([Landroid/animation/Keyframe;)V
            putfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
         9: .line 642
            return
        end local 3 // android.animation.Keyframe[] keyframes
        end local 2 // int numKeyframes
        end local 1 // android.animation.Keyframe[] values
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Landroid/animation/PropertyValuesHolder;
            0   10     1        values  [Landroid/animation/Keyframe;
            1   10     2  numKeyframes  I
            2   10     3     keyframes  [Landroid/animation/Keyframe;
            4    8     4             i  I
    MethodParameters:
        Name  Flags
      values  

  public void setObjectValues(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.animation.PropertyValuesHolder this
        start local 1 // java.lang.Object[] values
         0: .line 663
            aload 0 /* this */
            aload 1 /* values */
            iconst_0
            aaload
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            putfield android.animation.PropertyValuesHolder.mValueType:Ljava/lang/Class;
         1: .line 664
            aload 0 /* this */
            aload 1 /* values */
            invokestatic android.animation.KeyframeSet.ofObject:([Ljava/lang/Object;)Landroid/animation/KeyframeSet;
            putfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
         2: .line 665
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mEvaluator:Landroid/animation/TypeEvaluator;
            ifnull 4
         3: .line 666
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mEvaluator:Landroid/animation/TypeEvaluator;
            invokeinterface android.animation.Keyframes.setEvaluator:(Landroid/animation/TypeEvaluator;)V
         4: .line 668
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object[] values
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Landroid/animation/PropertyValuesHolder;
            0    5     1  values  [Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      values  

  public void setConverter(android.animation.TypeConverter);
    descriptor: (Landroid/animation/TypeConverter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.animation.PropertyValuesHolder this
        start local 1 // android.animation.TypeConverter converter
         0: .line 677
            aload 0 /* this */
            aload 1 /* converter */
            putfield android.animation.PropertyValuesHolder.mConverter:Landroid/animation/TypeConverter;
         1: .line 678
            return
        end local 1 // android.animation.TypeConverter converter
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Landroid/animation/PropertyValuesHolder;
            0    2     1  converter  Landroid/animation/TypeConverter;
    MethodParameters:
           Name  Flags
      converter  

  private java.lang.reflect.Method getPropertyFunction(java.lang.Class, java.lang.String, java.lang.Class);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=4
        start local 0 // android.animation.PropertyValuesHolder this
        start local 1 // java.lang.Class targetClass
        start local 2 // java.lang.String prefix
        start local 3 // java.lang.Class valueType
         0: .line 697
            aconst_null
            astore 4 /* returnVal */
        start local 4 // java.lang.reflect.Method returnVal
         1: .line 698
            aload 2 /* prefix */
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mPropertyName:Ljava/lang/String;
            invokestatic android.animation.PropertyValuesHolder.getMethodName:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* methodName */
        start local 5 // java.lang.String methodName
         2: .line 699
            aconst_null
            astore 6 /* args */
        start local 6 // java.lang.Class[] args
         3: .line 700
            aload 3 /* valueType */
            ifnonnull 8
         4: .line 702
            aload 1 /* targetClass */
            aload 5 /* methodName */
            aload 6 /* args */
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 4 /* returnVal */
         5: .line 703
            goto 31
      StackMap locals: android.animation.PropertyValuesHolder java.lang.Class java.lang.String java.lang.Class java.lang.reflect.Method java.lang.String java.lang.Class[]
      StackMap stack: java.lang.NoSuchMethodException
         6: pop
         7: .line 706
            goto 31
         8: .line 707
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.Class
            astore 6 /* args */
         9: .line 709
            aload 3 /* valueType */
            ldc Ljava/lang/Float;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 710
            getstatic android.animation.PropertyValuesHolder.FLOAT_VARIANTS:[Ljava/lang/Class;
            astore 7 /* typeVariants */
        start local 7 // java.lang.Class[] typeVariants
        11: .line 711
            goto 20
        end local 7 // java.lang.Class[] typeVariants
      StackMap locals:
      StackMap stack:
        12: aload 3 /* valueType */
            ldc Ljava/lang/Integer;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 15
        13: .line 712
            getstatic android.animation.PropertyValuesHolder.INTEGER_VARIANTS:[Ljava/lang/Class;
            astore 7 /* typeVariants */
        start local 7 // java.lang.Class[] typeVariants
        14: .line 713
            goto 20
        end local 7 // java.lang.Class[] typeVariants
      StackMap locals:
      StackMap stack:
        15: aload 3 /* valueType */
            ldc Ljava/lang/Double;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 18
        16: .line 714
            getstatic android.animation.PropertyValuesHolder.DOUBLE_VARIANTS:[Ljava/lang/Class;
            astore 7 /* typeVariants */
        start local 7 // java.lang.Class[] typeVariants
        17: .line 715
            goto 20
        end local 7 // java.lang.Class[] typeVariants
        18: .line 716
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.Class
            astore 7 /* typeVariants */
        start local 7 // java.lang.Class[] typeVariants
        19: .line 717
            aload 7 /* typeVariants */
            iconst_0
            aload 3 /* valueType */
            aastore
        20: .line 719
      StackMap locals: java.lang.Class[]
      StackMap stack:
            aload 7 /* typeVariants */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 30
      StackMap locals: android.animation.PropertyValuesHolder java.lang.Class java.lang.String java.lang.Class java.lang.reflect.Method java.lang.String java.lang.Class[] java.lang.Class[] top int int java.lang.Class[]
      StackMap stack:
        21: aload 11
            iload 9
            aaload
            astore 8 /* typeVariant */
        start local 8 // java.lang.Class typeVariant
        22: .line 720
            aload 6 /* args */
            iconst_0
            aload 8 /* typeVariant */
            aastore
        23: .line 722
            aload 1 /* targetClass */
            aload 5 /* methodName */
            aload 6 /* args */
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 4 /* returnVal */
        24: .line 723
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mConverter:Landroid/animation/TypeConverter;
            ifnonnull 26
        25: .line 725
            aload 0 /* this */
            aload 8 /* typeVariant */
            putfield android.animation.PropertyValuesHolder.mValueType:Ljava/lang/Class;
        26: .line 727
      StackMap locals: android.animation.PropertyValuesHolder java.lang.Class java.lang.String java.lang.Class java.lang.reflect.Method java.lang.String java.lang.Class[] java.lang.Class[] java.lang.Class int int java.lang.Class[]
      StackMap stack:
            aload 4 /* returnVal */
        27: areturn
        28: .line 728
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
        end local 8 // java.lang.Class typeVariant
        29: .line 719
            iinc 9 1
      StackMap locals: android.animation.PropertyValuesHolder java.lang.Class java.lang.String java.lang.Class java.lang.reflect.Method java.lang.String java.lang.Class[] java.lang.Class[] top int int java.lang.Class[]
      StackMap stack:
        30: iload 9
            iload 10
            if_icmplt 21
        end local 7 // java.lang.Class[] typeVariants
        31: .line 735
      StackMap locals: android.animation.PropertyValuesHolder java.lang.Class java.lang.String java.lang.Class java.lang.reflect.Method java.lang.String java.lang.Class[]
      StackMap stack:
            aload 4 /* returnVal */
            ifnonnull 36
        32: .line 736
            ldc "PropertyValuesHolder"
            new java.lang.StringBuilder
            dup
            ldc "Method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        33: .line 737
            aload 2 /* prefix */
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mPropertyName:Ljava/lang/String;
            invokestatic android.animation.PropertyValuesHolder.getMethodName:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "() with type "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* valueType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        34: .line 738
            ldc " not found on target class "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* targetClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        35: .line 736
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        36: .line 741
      StackMap locals:
      StackMap stack:
            aload 4 /* returnVal */
            areturn
        end local 6 // java.lang.Class[] args
        end local 5 // java.lang.String methodName
        end local 4 // java.lang.reflect.Method returnVal
        end local 3 // java.lang.Class valueType
        end local 2 // java.lang.String prefix
        end local 1 // java.lang.Class targetClass
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   37     0          this  Landroid/animation/PropertyValuesHolder;
            0   37     1   targetClass  Ljava/lang/Class;
            0   37     2        prefix  Ljava/lang/String;
            0   37     3     valueType  Ljava/lang/Class;
            1   37     4     returnVal  Ljava/lang/reflect/Method;
            2   37     5    methodName  Ljava/lang/String;
            3   37     6          args  [Ljava/lang/Class;
           11   12     7  typeVariants  [Ljava/lang/Class;
           14   15     7  typeVariants  [Ljava/lang/Class;
           17   18     7  typeVariants  [Ljava/lang/Class;
           19   31     7  typeVariants  [Ljava/lang/Class;
           22   29     8   typeVariant  Ljava/lang/Class;
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.NoSuchMethodException
          23    27      28  Class java.lang.NoSuchMethodException
    MethodParameters:
             Name  Flags
      targetClass  
      prefix       
      valueType    

  private java.lang.reflect.Method setupSetterOrGetter(java.lang.Class, java.util.HashMap<java.lang.Class, java.util.HashMap<java.lang.String, java.lang.reflect.Method>>, java.lang.String, java.lang.Class);
    descriptor: (Ljava/lang/Class;Ljava/util/HashMap;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=5
        start local 0 // android.animation.PropertyValuesHolder this
        start local 1 // java.lang.Class targetClass
        start local 2 // java.util.HashMap propertyMapMap
        start local 3 // java.lang.String prefix
        start local 4 // java.lang.Class valueType
         0: .line 758
            aconst_null
            astore 5 /* setterOrGetter */
        start local 5 // java.lang.reflect.Method setterOrGetter
         1: .line 759
            aload 2 /* propertyMapMap */
            dup
            astore 6
            monitorenter
         2: .line 763
            aload 2 /* propertyMapMap */
            aload 1 /* targetClass */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.HashMap
            astore 7 /* propertyMap */
        start local 7 // java.util.HashMap propertyMap
         3: .line 764
            iconst_0
            istore 8 /* wasInMap */
        start local 8 // boolean wasInMap
         4: .line 765
            aload 7 /* propertyMap */
            ifnull 8
         5: .line 766
            aload 7 /* propertyMap */
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mPropertyName:Ljava/lang/String;
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            istore 8 /* wasInMap */
         6: .line 767
            iload 8 /* wasInMap */
            ifeq 8
         7: .line 768
            aload 7 /* propertyMap */
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mPropertyName:Ljava/lang/String;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 5 /* setterOrGetter */
         8: .line 771
      StackMap locals: android.animation.PropertyValuesHolder java.lang.Class java.util.HashMap java.lang.String java.lang.Class java.lang.reflect.Method java.util.HashMap java.util.HashMap int
      StackMap stack:
            iload 8 /* wasInMap */
            ifne 14
         9: .line 772
            aload 0 /* this */
            aload 1 /* targetClass */
            aload 3 /* prefix */
            aload 4 /* valueType */
            invokevirtual android.animation.PropertyValuesHolder.getPropertyFunction:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 5 /* setterOrGetter */
        10: .line 773
            aload 7 /* propertyMap */
            ifnonnull 13
        11: .line 774
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 7 /* propertyMap */
        12: .line 775
            aload 2 /* propertyMapMap */
            aload 1 /* targetClass */
            aload 7 /* propertyMap */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 777
      StackMap locals:
      StackMap stack:
            aload 7 /* propertyMap */
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mPropertyName:Ljava/lang/String;
            aload 5 /* setterOrGetter */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // boolean wasInMap
        end local 7 // java.util.HashMap propertyMap
        14: .line 759
      StackMap locals:
      StackMap stack:
            aload 6
            monitorexit
        15: goto 18
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: aload 6
            monitorexit
        17: athrow
        18: .line 780
      StackMap locals:
      StackMap stack:
            aload 5 /* setterOrGetter */
            areturn
        end local 5 // java.lang.reflect.Method setterOrGetter
        end local 4 // java.lang.Class valueType
        end local 3 // java.lang.String prefix
        end local 2 // java.util.HashMap propertyMapMap
        end local 1 // java.lang.Class targetClass
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   19     0            this  Landroid/animation/PropertyValuesHolder;
            0   19     1     targetClass  Ljava/lang/Class;
            0   19     2  propertyMapMap  Ljava/util/HashMap<Ljava/lang/Class;Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/reflect/Method;>;>;
            0   19     3          prefix  Ljava/lang/String;
            0   19     4       valueType  Ljava/lang/Class;
            1   19     5  setterOrGetter  Ljava/lang/reflect/Method;
            3   14     7     propertyMap  Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/reflect/Method;>;
            4   14     8        wasInMap  Z
      Exception table:
        from    to  target  type
           2    15      16  any
          16    17      16  any
    Signature: (Ljava/lang/Class;Ljava/util/HashMap<Ljava/lang/Class;Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/reflect/Method;>;>;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;
    MethodParameters:
                Name  Flags
      targetClass     
      propertyMapMap  
      prefix          
      valueType       

  void setupSetter(java.lang.Class);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // android.animation.PropertyValuesHolder this
        start local 1 // java.lang.Class targetClass
         0: .line 788
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mConverter:Landroid/animation/TypeConverter;
            ifnonnull 1
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mValueType:Ljava/lang/Class;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mConverter:Landroid/animation/TypeConverter;
            invokevirtual android.animation.TypeConverter.getTargetType:()Ljava/lang/Class;
      StackMap locals:
      StackMap stack: java.lang.Class
         2: astore 2 /* propertyType */
        start local 2 // java.lang.Class propertyType
         3: .line 789
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* targetClass */
            getstatic android.animation.PropertyValuesHolder.sSetterPropertyMap:Ljava/util/HashMap;
            ldc "set"
            aload 2 /* propertyType */
            invokevirtual android.animation.PropertyValuesHolder.setupSetterOrGetter:(Ljava/lang/Class;Ljava/util/HashMap;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putfield android.animation.PropertyValuesHolder.mSetter:Ljava/lang/reflect/Method;
         4: .line 790
            return
        end local 2 // java.lang.Class propertyType
        end local 1 // java.lang.Class targetClass
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Landroid/animation/PropertyValuesHolder;
            0    5     1   targetClass  Ljava/lang/Class;
            3    5     2  propertyType  Ljava/lang/Class<*>;
    MethodParameters:
             Name  Flags
      targetClass  

  private void setupGetter(java.lang.Class);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // android.animation.PropertyValuesHolder this
        start local 1 // java.lang.Class targetClass
         0: .line 796
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* targetClass */
            getstatic android.animation.PropertyValuesHolder.sGetterPropertyMap:Ljava/util/HashMap;
            ldc "get"
            aconst_null
            invokevirtual android.animation.PropertyValuesHolder.setupSetterOrGetter:(Ljava/lang/Class;Ljava/util/HashMap;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putfield android.animation.PropertyValuesHolder.mGetter:Ljava/lang/reflect/Method;
         1: .line 797
            return
        end local 1 // java.lang.Class targetClass
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Landroid/animation/PropertyValuesHolder;
            0    2     1  targetClass  Ljava/lang/Class;
    MethodParameters:
             Name  Flags
      targetClass  

  void setupSetterAndGetter(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // android.animation.PropertyValuesHolder this
        start local 1 // java.lang.Object target
         0: .line 810
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mProperty:Landroid/util/Property;
            ifnull 22
         1: .line 813
            aconst_null
            astore 2 /* testValue */
        start local 2 // java.lang.Object testValue
         2: .line 814
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
            invokeinterface android.animation.Keyframes.getKeyframes:()Ljava/util/List;
            astore 3 /* keyframes */
        start local 3 // java.util.List keyframes
         3: .line 815
            aload 3 /* keyframes */
            ifnonnull 4
            iconst_0
            goto 5
      StackMap locals: java.lang.Object java.util.List
      StackMap stack:
         4: aload 3 /* keyframes */
            invokeinterface java.util.List.size:()I
      StackMap locals:
      StackMap stack: int
         5: istore 4 /* keyframeCount */
        start local 4 // int keyframeCount
         6: .line 816
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         7: goto 15
         8: .line 817
      StackMap locals: int int
      StackMap stack:
            aload 3 /* keyframes */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast android.animation.Keyframe
            astore 6 /* kf */
        start local 6 // android.animation.Keyframe kf
         9: .line 818
            aload 6 /* kf */
            invokevirtual android.animation.Keyframe.hasValue:()Z
            ifeq 10
            aload 6 /* kf */
            invokevirtual android.animation.Keyframe.valueWasSetOnStart:()Z
            ifeq 14
        10: .line 819
      StackMap locals: android.animation.Keyframe
      StackMap stack:
            aload 2 /* testValue */
            ifnonnull 12
        11: .line 820
            aload 0 /* this */
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mProperty:Landroid/util/Property;
            aload 1 /* target */
            invokevirtual android.util.Property.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual android.animation.PropertyValuesHolder.convertBack:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* testValue */
        12: .line 822
      StackMap locals:
      StackMap stack:
            aload 6 /* kf */
            aload 2 /* testValue */
            invokevirtual android.animation.Keyframe.setValue:(Ljava/lang/Object;)V
        13: .line 823
            aload 6 /* kf */
            iconst_1
            invokevirtual android.animation.Keyframe.setValueWasSetOnStart:(Z)V
        end local 6 // android.animation.Keyframe kf
        14: .line 816
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 5 /* i */
            iload 4 /* keyframeCount */
            if_icmplt 8
        end local 5 // int i
        16: .line 826
            return
        end local 4 // int keyframeCount
        end local 3 // java.util.List keyframes
        end local 2 // java.lang.Object testValue
        17: .line 827
      StackMap locals: android.animation.PropertyValuesHolder java.lang.Object
      StackMap stack: java.lang.ClassCastException
            pop
        18: .line 828
            ldc "PropertyValuesHolder"
            new java.lang.StringBuilder
            dup
            ldc "No such property ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mProperty:Landroid/util/Property;
            invokevirtual android.util.Property.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 829
            ldc ") on target object "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* target */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ". Trying reflection instead"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 828
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        21: .line 830
            aload 0 /* this */
            aconst_null
            putfield android.animation.PropertyValuesHolder.mProperty:Landroid/util/Property;
        22: .line 834
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mProperty:Landroid/util/Property;
            ifnonnull 49
        23: .line 835
            aload 1 /* target */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 2 /* targetClass */
        start local 2 // java.lang.Class targetClass
        24: .line 836
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mSetter:Ljava/lang/reflect/Method;
            ifnonnull 26
        25: .line 837
            aload 0 /* this */
            aload 2 /* targetClass */
            invokevirtual android.animation.PropertyValuesHolder.setupSetter:(Ljava/lang/Class;)V
        26: .line 839
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
            invokeinterface android.animation.Keyframes.getKeyframes:()Ljava/util/List;
            astore 3 /* keyframes */
        start local 3 // java.util.List keyframes
        27: .line 840
            aload 3 /* keyframes */
            ifnonnull 28
            iconst_0
            goto 29
      StackMap locals: java.util.List
      StackMap stack:
        28: aload 3 /* keyframes */
            invokeinterface java.util.List.size:()I
      StackMap locals:
      StackMap stack: int
        29: istore 4 /* keyframeCount */
        start local 4 // int keyframeCount
        30: .line 841
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        31: goto 48
        32: .line 842
      StackMap locals: int int
      StackMap stack:
            aload 3 /* keyframes */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast android.animation.Keyframe
            astore 6 /* kf */
        start local 6 // android.animation.Keyframe kf
        33: .line 843
            aload 6 /* kf */
            invokevirtual android.animation.Keyframe.hasValue:()Z
            ifeq 34
            aload 6 /* kf */
            invokevirtual android.animation.Keyframe.valueWasSetOnStart:()Z
            ifeq 47
        34: .line 844
      StackMap locals: android.animation.Keyframe
      StackMap stack:
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mGetter:Ljava/lang/reflect/Method;
            ifnonnull 38
        35: .line 845
            aload 0 /* this */
            aload 2 /* targetClass */
            invokevirtual android.animation.PropertyValuesHolder.setupGetter:(Ljava/lang/Class;)V
        36: .line 846
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mGetter:Ljava/lang/reflect/Method;
            ifnonnull 38
        37: .line 848
            return
        38: .line 852
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mGetter:Ljava/lang/reflect/Method;
            aload 1 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual android.animation.PropertyValuesHolder.convertBack:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* value */
        start local 7 // java.lang.Object value
        39: .line 853
            aload 6 /* kf */
            aload 7 /* value */
            invokevirtual android.animation.Keyframe.setValue:(Ljava/lang/Object;)V
        40: .line 854
            aload 6 /* kf */
            iconst_1
            invokevirtual android.animation.Keyframe.setValueWasSetOnStart:(Z)V
        end local 7 // java.lang.Object value
        41: .line 855
            goto 47
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
        42: astore 7 /* e */
        start local 7 // java.lang.reflect.InvocationTargetException e
        43: .line 856
            ldc "PropertyValuesHolder"
            aload 7 /* e */
            invokevirtual java.lang.reflect.InvocationTargetException.toString:()Ljava/lang/String;
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        end local 7 // java.lang.reflect.InvocationTargetException e
        44: goto 47
        45: .line 857
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 7 /* e */
        start local 7 // java.lang.IllegalAccessException e
        46: .line 858
            ldc "PropertyValuesHolder"
            aload 7 /* e */
            invokevirtual java.lang.IllegalAccessException.toString:()Ljava/lang/String;
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        end local 7 // java.lang.IllegalAccessException e
        end local 6 // android.animation.Keyframe kf
        47: .line 841
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        48: iload 5 /* i */
            iload 4 /* keyframeCount */
            if_icmplt 32
        end local 5 // int i
        end local 4 // int keyframeCount
        end local 3 // java.util.List keyframes
        end local 2 // java.lang.Class targetClass
        49: .line 863
      StackMap locals: android.animation.PropertyValuesHolder java.lang.Object
      StackMap stack:
            return
        end local 1 // java.lang.Object target
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   50     0           this  Landroid/animation/PropertyValuesHolder;
            0   50     1         target  Ljava/lang/Object;
            2   17     2      testValue  Ljava/lang/Object;
            3   17     3      keyframes  Ljava/util/List<Landroid/animation/Keyframe;>;
            6   17     4  keyframeCount  I
            7   16     5              i  I
            9   14     6             kf  Landroid/animation/Keyframe;
           24   49     2    targetClass  Ljava/lang/Class;
           27   49     3      keyframes  Ljava/util/List<Landroid/animation/Keyframe;>;
           30   49     4  keyframeCount  I
           31   49     5              i  I
           33   47     6             kf  Landroid/animation/Keyframe;
           39   41     7          value  Ljava/lang/Object;
           43   44     7              e  Ljava/lang/reflect/InvocationTargetException;
           46   47     7              e  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           1    16      17  Class java.lang.ClassCastException
          38    41      42  Class java.lang.reflect.InvocationTargetException
          38    41      45  Class java.lang.IllegalAccessException
    MethodParameters:
        Name  Flags
      target  

  private java.lang.Object convertBack(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // android.animation.PropertyValuesHolder this
        start local 1 // java.lang.Object value
         0: .line 866
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mConverter:Landroid/animation/TypeConverter;
            ifnull 7
         1: .line 867
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mConverter:Landroid/animation/TypeConverter;
            instanceof android.animation.BidirectionalTypeConverter
            ifne 6
         2: .line 868
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Converter "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 869
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mConverter:Landroid/animation/TypeConverter;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 870
            ldc " must be a BidirectionalTypeConverter"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 868
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 872
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mConverter:Landroid/animation/TypeConverter;
            checkcast android.animation.BidirectionalTypeConverter
            aload 1 /* value */
            invokevirtual android.animation.BidirectionalTypeConverter.convertBack:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* value */
         7: .line 874
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            areturn
        end local 1 // java.lang.Object value
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Landroid/animation/PropertyValuesHolder;
            0    8     1  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  private void setupValue(java.lang.Object, android.animation.Keyframe);
    descriptor: (Ljava/lang/Object;Landroid/animation/Keyframe;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.animation.PropertyValuesHolder this
        start local 1 // java.lang.Object target
        start local 2 // android.animation.Keyframe kf
         0: .line 885
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mProperty:Landroid/util/Property;
            ifnull 4
         1: .line 886
            aload 0 /* this */
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mProperty:Landroid/util/Property;
            aload 1 /* target */
            invokevirtual android.util.Property.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual android.animation.PropertyValuesHolder.convertBack:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* value */
        start local 3 // java.lang.Object value
         2: .line 887
            aload 2 /* kf */
            aload 3 /* value */
            invokevirtual android.animation.Keyframe.setValue:(Ljava/lang/Object;)V
        end local 3 // java.lang.Object value
         3: .line 888
            goto 17
         4: .line 890
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mGetter:Ljava/lang/reflect/Method;
            ifnonnull 9
         5: .line 891
            aload 1 /* target */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 3 /* targetClass */
        start local 3 // java.lang.Class targetClass
         6: .line 892
            aload 0 /* this */
            aload 3 /* targetClass */
            invokevirtual android.animation.PropertyValuesHolder.setupGetter:(Ljava/lang/Class;)V
         7: .line 893
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mGetter:Ljava/lang/reflect/Method;
            ifnonnull 9
         8: .line 895
            return
        end local 3 // java.lang.Class targetClass
         9: .line 898
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mGetter:Ljava/lang/reflect/Method;
            aload 1 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual android.animation.PropertyValuesHolder.convertBack:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* value */
        start local 3 // java.lang.Object value
        10: .line 899
            aload 2 /* kf */
            aload 3 /* value */
            invokevirtual android.animation.Keyframe.setValue:(Ljava/lang/Object;)V
        end local 3 // java.lang.Object value
        11: .line 900
            goto 17
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
        12: astore 3 /* e */
        start local 3 // java.lang.reflect.InvocationTargetException e
        13: .line 901
            ldc "PropertyValuesHolder"
            aload 3 /* e */
            invokevirtual java.lang.reflect.InvocationTargetException.toString:()Ljava/lang/String;
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        end local 3 // java.lang.reflect.InvocationTargetException e
        14: goto 17
        15: .line 902
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 3 /* e */
        start local 3 // java.lang.IllegalAccessException e
        16: .line 903
            ldc "PropertyValuesHolder"
            aload 3 /* e */
            invokevirtual java.lang.IllegalAccessException.toString:()Ljava/lang/String;
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        end local 3 // java.lang.IllegalAccessException e
        17: .line 906
      StackMap locals:
      StackMap stack:
            return
        end local 2 // android.animation.Keyframe kf
        end local 1 // java.lang.Object target
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Landroid/animation/PropertyValuesHolder;
            0   18     1       target  Ljava/lang/Object;
            0   18     2           kf  Landroid/animation/Keyframe;
            2    3     3        value  Ljava/lang/Object;
            6    9     3  targetClass  Ljava/lang/Class;
           10   11     3        value  Ljava/lang/Object;
           13   14     3            e  Ljava/lang/reflect/InvocationTargetException;
           16   17     3            e  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           4     8      12  Class java.lang.reflect.InvocationTargetException
           9    11      12  Class java.lang.reflect.InvocationTargetException
           4     8      15  Class java.lang.IllegalAccessException
           9    11      15  Class java.lang.IllegalAccessException
    MethodParameters:
        Name  Flags
      target  
      kf      

  void setupStartValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // android.animation.PropertyValuesHolder this
        start local 1 // java.lang.Object target
         0: .line 917
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
            invokeinterface android.animation.Keyframes.getKeyframes:()Ljava/util/List;
            astore 2 /* keyframes */
        start local 2 // java.util.List keyframes
         1: .line 918
            aload 2 /* keyframes */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 3
         2: .line 919
            aload 0 /* this */
            aload 1 /* target */
            aload 2 /* keyframes */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast android.animation.Keyframe
            invokevirtual android.animation.PropertyValuesHolder.setupValue:(Ljava/lang/Object;Landroid/animation/Keyframe;)V
         3: .line 921
      StackMap locals: java.util.List
      StackMap stack:
            return
        end local 2 // java.util.List keyframes
        end local 1 // java.lang.Object target
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Landroid/animation/PropertyValuesHolder;
            0    4     1     target  Ljava/lang/Object;
            1    4     2  keyframes  Ljava/util/List<Landroid/animation/Keyframe;>;
    MethodParameters:
        Name  Flags
      target  

  void setupEndValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // android.animation.PropertyValuesHolder this
        start local 1 // java.lang.Object target
         0: .line 932
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
            invokeinterface android.animation.Keyframes.getKeyframes:()Ljava/util/List;
            astore 2 /* keyframes */
        start local 2 // java.util.List keyframes
         1: .line 933
            aload 2 /* keyframes */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 3
         2: .line 934
            aload 0 /* this */
            aload 1 /* target */
            aload 2 /* keyframes */
            aload 2 /* keyframes */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast android.animation.Keyframe
            invokevirtual android.animation.PropertyValuesHolder.setupValue:(Ljava/lang/Object;Landroid/animation/Keyframe;)V
         3: .line 936
      StackMap locals: java.util.List
      StackMap stack:
            return
        end local 2 // java.util.List keyframes
        end local 1 // java.lang.Object target
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Landroid/animation/PropertyValuesHolder;
            0    4     1     target  Ljava/lang/Object;
            1    4     2  keyframes  Ljava/util/List<Landroid/animation/Keyframe;>;
    MethodParameters:
        Name  Flags
      target  

  public android.animation.PropertyValuesHolder clone();
    descriptor: ()Landroid/animation/PropertyValuesHolder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // android.animation.PropertyValuesHolder this
         0: .line 941
            aload 0 /* this */
            invokespecial java.lang.Object.clone:()Ljava/lang/Object;
            checkcast android.animation.PropertyValuesHolder
            astore 1 /* newPVH */
        start local 1 // android.animation.PropertyValuesHolder newPVH
         1: .line 942
            aload 1 /* newPVH */
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mPropertyName:Ljava/lang/String;
            putfield android.animation.PropertyValuesHolder.mPropertyName:Ljava/lang/String;
         2: .line 943
            aload 1 /* newPVH */
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mProperty:Landroid/util/Property;
            putfield android.animation.PropertyValuesHolder.mProperty:Landroid/util/Property;
         3: .line 944
            aload 1 /* newPVH */
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
            invokeinterface android.animation.Keyframes.clone:()Landroid/animation/Keyframes;
            putfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
         4: .line 945
            aload 1 /* newPVH */
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mEvaluator:Landroid/animation/TypeEvaluator;
            putfield android.animation.PropertyValuesHolder.mEvaluator:Landroid/animation/TypeEvaluator;
         5: .line 946
            aload 1 /* newPVH */
         6: areturn
        end local 1 // android.animation.PropertyValuesHolder newPVH
         7: .line 947
      StackMap locals:
      StackMap stack: java.lang.CloneNotSupportedException
            pop
         8: .line 949
            aconst_null
            areturn
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Landroid/animation/PropertyValuesHolder;
            1    7     1  newPVH  Landroid/animation/PropertyValuesHolder;
      Exception table:
        from    to  target  type
           0     6       7  Class java.lang.CloneNotSupportedException

  void setAnimatedValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.animation.PropertyValuesHolder this
        start local 1 // java.lang.Object target
         0: .line 961
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mProperty:Landroid/util/Property;
            ifnull 2
         1: .line 962
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mProperty:Landroid/util/Property;
            aload 1 /* target */
            aload 0 /* this */
            invokevirtual android.animation.PropertyValuesHolder.getAnimatedValue:()Ljava/lang/Object;
            invokevirtual android.util.Property.set:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 964
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mSetter:Ljava/lang/reflect/Method;
            ifnull 11
         3: .line 966
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mTmpValueArray:[Ljava/lang/Object;
            iconst_0
            aload 0 /* this */
            invokevirtual android.animation.PropertyValuesHolder.getAnimatedValue:()Ljava/lang/Object;
            aastore
         4: .line 967
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mSetter:Ljava/lang/reflect/Method;
            aload 1 /* target */
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mTmpValueArray:[Ljava/lang/Object;
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 968
            goto 11
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
         6: astore 2 /* e */
        start local 2 // java.lang.reflect.InvocationTargetException e
         7: .line 969
            ldc "PropertyValuesHolder"
            aload 2 /* e */
            invokevirtual java.lang.reflect.InvocationTargetException.toString:()Ljava/lang/String;
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        end local 2 // java.lang.reflect.InvocationTargetException e
         8: goto 11
         9: .line 970
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 2 /* e */
        start local 2 // java.lang.IllegalAccessException e
        10: .line 971
            ldc "PropertyValuesHolder"
            aload 2 /* e */
            invokevirtual java.lang.IllegalAccessException.toString:()Ljava/lang/String;
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        end local 2 // java.lang.IllegalAccessException e
        11: .line 974
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object target
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Landroid/animation/PropertyValuesHolder;
            0   12     1  target  Ljava/lang/Object;
            7    8     2       e  Ljava/lang/reflect/InvocationTargetException;
           10   11     2       e  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           3     5       6  Class java.lang.reflect.InvocationTargetException
           3     5       9  Class java.lang.IllegalAccessException
    MethodParameters:
        Name  Flags
      target  

  void init();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.animation.PropertyValuesHolder this
         0: .line 981
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mEvaluator:Landroid/animation/TypeEvaluator;
            ifnonnull 5
         1: .line 984
            aload 0 /* this */
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mValueType:Ljava/lang/Class;
            ldc Ljava/lang/Integer;
            if_acmpne 2
            getstatic android.animation.PropertyValuesHolder.sIntEvaluator:Landroid/animation/TypeEvaluator;
            goto 4
         2: .line 985
      StackMap locals:
      StackMap stack: android.animation.PropertyValuesHolder
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mValueType:Ljava/lang/Class;
            ldc Ljava/lang/Float;
            if_acmpne 3
            getstatic android.animation.PropertyValuesHolder.sFloatEvaluator:Landroid/animation/TypeEvaluator;
            goto 4
         3: .line 986
      StackMap locals:
      StackMap stack: android.animation.PropertyValuesHolder
            aconst_null
         4: .line 984
      StackMap locals: android.animation.PropertyValuesHolder
      StackMap stack: android.animation.PropertyValuesHolder android.animation.TypeEvaluator
            putfield android.animation.PropertyValuesHolder.mEvaluator:Landroid/animation/TypeEvaluator;
         5: .line 988
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mEvaluator:Landroid/animation/TypeEvaluator;
            ifnull 7
         6: .line 991
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mEvaluator:Landroid/animation/TypeEvaluator;
            invokeinterface android.animation.Keyframes.setEvaluator:(Landroid/animation/TypeEvaluator;)V
         7: .line 993
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Landroid/animation/PropertyValuesHolder;

  public void setEvaluator(android.animation.TypeEvaluator);
    descriptor: (Landroid/animation/TypeEvaluator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.animation.PropertyValuesHolder this
        start local 1 // android.animation.TypeEvaluator evaluator
         0: .line 1006
            aload 0 /* this */
            aload 1 /* evaluator */
            putfield android.animation.PropertyValuesHolder.mEvaluator:Landroid/animation/TypeEvaluator;
         1: .line 1007
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
            aload 1 /* evaluator */
            invokeinterface android.animation.Keyframes.setEvaluator:(Landroid/animation/TypeEvaluator;)V
         2: .line 1008
            return
        end local 1 // android.animation.TypeEvaluator evaluator
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Landroid/animation/PropertyValuesHolder;
            0    3     1  evaluator  Landroid/animation/TypeEvaluator;
    MethodParameters:
           Name  Flags
      evaluator  

  void calculateValue(float);
    descriptor: (F)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.animation.PropertyValuesHolder this
        start local 1 // float fraction
         0: .line 1017
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
            fload 1 /* fraction */
            invokeinterface android.animation.Keyframes.getValue:(F)Ljava/lang/Object;
            astore 2 /* value */
        start local 2 // java.lang.Object value
         1: .line 1018
            aload 0 /* this */
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mConverter:Landroid/animation/TypeConverter;
            ifnonnull 2
            aload 2 /* value */
            goto 3
      StackMap locals: android.animation.PropertyValuesHolder float java.lang.Object
      StackMap stack: android.animation.PropertyValuesHolder
         2: aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mConverter:Landroid/animation/TypeConverter;
            aload 2 /* value */
            invokevirtual android.animation.TypeConverter.convert:(Ljava/lang/Object;)Ljava/lang/Object;
      StackMap locals: android.animation.PropertyValuesHolder float java.lang.Object
      StackMap stack: android.animation.PropertyValuesHolder java.lang.Object
         3: putfield android.animation.PropertyValuesHolder.mAnimatedValue:Ljava/lang/Object;
         4: .line 1019
            return
        end local 2 // java.lang.Object value
        end local 1 // float fraction
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Landroid/animation/PropertyValuesHolder;
            0    5     1  fraction  F
            1    5     2     value  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      fraction  

  public void setPropertyName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.animation.PropertyValuesHolder this
        start local 1 // java.lang.String propertyName
         0: .line 1037
            aload 0 /* this */
            aload 1 /* propertyName */
            putfield android.animation.PropertyValuesHolder.mPropertyName:Ljava/lang/String;
         1: .line 1038
            return
        end local 1 // java.lang.String propertyName
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Landroid/animation/PropertyValuesHolder;
            0    2     1  propertyName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      propertyName  

  public void setProperty(android.util.Property);
    descriptor: (Landroid/util/Property;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.animation.PropertyValuesHolder this
        start local 1 // android.util.Property property
         0: .line 1049
            aload 0 /* this */
            aload 1 /* property */
            putfield android.animation.PropertyValuesHolder.mProperty:Landroid/util/Property;
         1: .line 1050
            return
        end local 1 // android.util.Property property
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Landroid/animation/PropertyValuesHolder;
            0    2     1  property  Landroid/util/Property;
    MethodParameters:
          Name  Flags
      property  

  public java.lang.String getPropertyName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.animation.PropertyValuesHolder this
         0: .line 1061
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mPropertyName:Ljava/lang/String;
            areturn
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/animation/PropertyValuesHolder;

  java.lang.Object getAnimatedValue();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.animation.PropertyValuesHolder this
         0: .line 1070
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mAnimatedValue:Ljava/lang/Object;
            areturn
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/animation/PropertyValuesHolder;

  public void getPropertyValues(android.animation.PropertyValuesHolder$PropertyValues);
    descriptor: (Landroid/animation/PropertyValuesHolder$PropertyValues;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.animation.PropertyValuesHolder this
        start local 1 // android.animation.PropertyValuesHolder$PropertyValues values
         0: .line 1080
            aload 0 /* this */
            invokevirtual android.animation.PropertyValuesHolder.init:()V
         1: .line 1081
            aload 1 /* values */
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mPropertyName:Ljava/lang/String;
            putfield android.animation.PropertyValuesHolder$PropertyValues.propertyName:Ljava/lang/String;
         2: .line 1082
            aload 1 /* values */
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mValueType:Ljava/lang/Class;
            putfield android.animation.PropertyValuesHolder$PropertyValues.type:Ljava/lang/Class;
         3: .line 1083
            aload 1 /* values */
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
            fconst_0
            invokeinterface android.animation.Keyframes.getValue:(F)Ljava/lang/Object;
            putfield android.animation.PropertyValuesHolder$PropertyValues.startValue:Ljava/lang/Object;
         4: .line 1084
            aload 1 /* values */
            getfield android.animation.PropertyValuesHolder$PropertyValues.startValue:Ljava/lang/Object;
            instanceof android.util.PathParser$PathData
            ifeq 6
         5: .line 1087
            aload 1 /* values */
            new android.util.PathParser$PathData
            dup
            aload 1 /* values */
            getfield android.animation.PropertyValuesHolder$PropertyValues.startValue:Ljava/lang/Object;
            checkcast android.util.PathParser$PathData
            invokespecial android.util.PathParser$PathData.<init>:(Landroid/util/PathParser$PathData;)V
            putfield android.animation.PropertyValuesHolder$PropertyValues.startValue:Ljava/lang/Object;
         6: .line 1089
      StackMap locals:
      StackMap stack:
            aload 1 /* values */
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
            fconst_1
            invokeinterface android.animation.Keyframes.getValue:(F)Ljava/lang/Object;
            putfield android.animation.PropertyValuesHolder$PropertyValues.endValue:Ljava/lang/Object;
         7: .line 1090
            aload 1 /* values */
            getfield android.animation.PropertyValuesHolder$PropertyValues.endValue:Ljava/lang/Object;
            instanceof android.util.PathParser$PathData
            ifeq 9
         8: .line 1093
            aload 1 /* values */
            new android.util.PathParser$PathData
            dup
            aload 1 /* values */
            getfield android.animation.PropertyValuesHolder$PropertyValues.endValue:Ljava/lang/Object;
            checkcast android.util.PathParser$PathData
            invokespecial android.util.PathParser$PathData.<init>:(Landroid/util/PathParser$PathData;)V
            putfield android.animation.PropertyValuesHolder$PropertyValues.endValue:Ljava/lang/Object;
         9: .line 1096
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
            instanceof android.animation.PathKeyframes$FloatKeyframesBase
            ifne 12
        10: .line 1097
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
            instanceof android.animation.PathKeyframes$IntKeyframesBase
            ifne 12
        11: .line 1098
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
            invokeinterface android.animation.Keyframes.getKeyframes:()Ljava/util/List;
            ifnull 14
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
            invokeinterface android.animation.Keyframes.getKeyframes:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_2
            if_icmple 14
        12: .line 1103
      StackMap locals:
      StackMap stack:
            aload 1 /* values */
            new android.animation.PropertyValuesHolder$1
            dup
            aload 0 /* this */
            invokespecial android.animation.PropertyValuesHolder$1.<init>:(Landroid/animation/PropertyValuesHolder;)V
            putfield android.animation.PropertyValuesHolder$PropertyValues.dataSource:Landroid/animation/PropertyValuesHolder$PropertyValues$DataSource;
        13: .line 1109
            goto 15
        14: .line 1110
      StackMap locals:
      StackMap stack:
            aload 1 /* values */
            aconst_null
            putfield android.animation.PropertyValuesHolder$PropertyValues.dataSource:Landroid/animation/PropertyValuesHolder$PropertyValues$DataSource;
        15: .line 1112
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.animation.PropertyValuesHolder$PropertyValues values
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    this  Landroid/animation/PropertyValuesHolder;
            0   16     1  values  Landroid/animation/PropertyValuesHolder$PropertyValues;
    MethodParameters:
        Name  Flags
      values  

  public java.lang.Class getValueType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.animation.PropertyValuesHolder this
         0: .line 1118
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mValueType:Ljava/lang/Class;
            areturn
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/animation/PropertyValuesHolder;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // android.animation.PropertyValuesHolder this
         0: .line 1123
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mPropertyName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield android.animation.PropertyValuesHolder.mKeyframes:Landroid/animation/Keyframes;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // android.animation.PropertyValuesHolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/animation/PropertyValuesHolder;

  static java.lang.String getMethodName(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String prefix
        start local 1 // java.lang.String propertyName
         0: .line 1140
            aload 1 /* propertyName */
            ifnull 1
            aload 1 /* propertyName */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 1142
      StackMap locals:
      StackMap stack:
            aload 0 /* prefix */
            areturn
         2: .line 1144
      StackMap locals:
      StackMap stack:
            aload 1 /* propertyName */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.toUpperCase:(C)C
            istore 2 /* firstLetter */
        start local 2 // char firstLetter
         3: .line 1145
            aload 1 /* propertyName */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* theRest */
        start local 3 // java.lang.String theRest
         4: .line 1146
            new java.lang.StringBuilder
            dup
            aload 0 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* firstLetter */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 3 /* theRest */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.String theRest
        end local 2 // char firstLetter
        end local 1 // java.lang.String propertyName
        end local 0 // java.lang.String prefix
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0        prefix  Ljava/lang/String;
            0    5     1  propertyName  Ljava/lang/String;
            3    5     2   firstLetter  C
            4    5     3       theRest  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      prefix        
      propertyName  

  private static native long nGetIntMethod(java.lang.Class, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)J
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
             Name  Flags
      targetClass  
      methodName   

  private static native long nGetFloatMethod(java.lang.Class, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)J
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
             Name  Flags
      targetClass  
      methodName   

  private static native long nGetMultipleIntMethod(java.lang.Class, java.lang.String, int);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;I)J
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
             Name  Flags
      targetClass  
      methodName   
      numParams    

  private static native long nGetMultipleFloatMethod(java.lang.Class, java.lang.String, int);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;I)J
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
             Name  Flags
      targetClass  
      methodName   
      numParams    

  private static native void nCallIntMethod(java.lang.Object, long, int);
    descriptor: (Ljava/lang/Object;JI)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      target    
      methodID  
      arg       

  private static native void nCallFloatMethod(java.lang.Object, long, float);
    descriptor: (Ljava/lang/Object;JF)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      target    
      methodID  
      arg       

  private static native void nCallTwoIntMethod(java.lang.Object, long, int, int);
    descriptor: (Ljava/lang/Object;JII)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      target    
      methodID  
      arg1      
      arg2      

  private static native void nCallFourIntMethod(java.lang.Object, long, int, int, int, int);
    descriptor: (Ljava/lang/Object;JIIII)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      target    
      methodID  
      arg1      
      arg2      
      arg3      
      arg4      

  private static native void nCallMultipleIntMethod(java.lang.Object, long, int[]);
    descriptor: (Ljava/lang/Object;J[I)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      target    
      methodID  
      args      

  private static native void nCallTwoFloatMethod(java.lang.Object, long, float, float);
    descriptor: (Ljava/lang/Object;JFF)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      target    
      methodID  
      arg1      
      arg2      

  private static native void nCallFourFloatMethod(java.lang.Object, long, float, float, float, float);
    descriptor: (Ljava/lang/Object;JFFFF)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      target    
      methodID  
      arg1      
      arg2      
      arg3      
      arg4      

  private static native void nCallMultipleFloatMethod(java.lang.Object, long, float[]);
    descriptor: (Ljava/lang/Object;J[F)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      target    
      methodID  
      args      

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual android.animation.PropertyValuesHolder.clone:()Landroid/animation/PropertyValuesHolder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.CloneNotSupportedException
}
SourceFile: "PropertyValuesHolder.java"
NestMembers:
  android.animation.PropertyValuesHolder$1  android.animation.PropertyValuesHolder$FloatPropertyValuesHolder  android.animation.PropertyValuesHolder$IntPropertyValuesHolder  android.animation.PropertyValuesHolder$MultiFloatValuesHolder  android.animation.PropertyValuesHolder$MultiIntValuesHolder  android.animation.PropertyValuesHolder$PointFToFloatArray  android.animation.PropertyValuesHolder$PointFToIntArray  android.animation.PropertyValuesHolder$PropertyValues  android.animation.PropertyValuesHolder$PropertyValues$DataSource
InnerClasses:
  public abstract FloatKeyframes = android.animation.Keyframes$FloatKeyframes of android.animation.Keyframes
  public abstract IntKeyframes = android.animation.Keyframes$IntKeyframes of android.animation.Keyframes
  abstract FloatKeyframesBase = android.animation.PathKeyframes$FloatKeyframesBase of android.animation.PathKeyframes
  abstract IntKeyframesBase = android.animation.PathKeyframes$IntKeyframesBase of android.animation.PathKeyframes
  android.animation.PropertyValuesHolder$1
  FloatPropertyValuesHolder = android.animation.PropertyValuesHolder$FloatPropertyValuesHolder of android.animation.PropertyValuesHolder
  IntPropertyValuesHolder = android.animation.PropertyValuesHolder$IntPropertyValuesHolder of android.animation.PropertyValuesHolder
  MultiFloatValuesHolder = android.animation.PropertyValuesHolder$MultiFloatValuesHolder of android.animation.PropertyValuesHolder
  MultiIntValuesHolder = android.animation.PropertyValuesHolder$MultiIntValuesHolder of android.animation.PropertyValuesHolder
  private PointFToFloatArray = android.animation.PropertyValuesHolder$PointFToFloatArray of android.animation.PropertyValuesHolder
  private PointFToIntArray = android.animation.PropertyValuesHolder$PointFToIntArray of android.animation.PropertyValuesHolder
  public PropertyValues = android.animation.PropertyValuesHolder$PropertyValues of android.animation.PropertyValuesHolder
  public PathData = android.util.PathParser$PathData of android.util.PathParser