1 
   2 import java.io.*;
   3 import java.util.*;
   4 import java.lang.*;
   5 import java.lang.reflect.*;
   6 import java.lang.annotation.*;
   7 
   8  
   9 class TypeAnnoCls0 {
  10     public  Class< ? extends  Object> f11;
  11     public  HashMap< ? extends  Object,  ? extends  Object> f12;
  12     public  Class< ? super  Object> f13;
  13     public  HashMap< ? super  Object,  ? super  Object> f14;
  14     public @TypeAnno1("TypeAnno1")  Class< ? extends @TypeAnno1("TypeAnno1")  Object> f21;
  15     public @TypeAnno1("TypeAnno1")  HashMap< ? extends @TypeAnno1("TypeAnno1")  Object,  ? extends @TypeAnno1("TypeAnno1")  Object> f22;
  16     public @TypeAnno1("TypeAnno1")  Class< ? super @TypeAnno1("TypeAnno1")  Object> f23;
  17     public @TypeAnno1("TypeAnno1")  HashMap< ? super @TypeAnno1("TypeAnno1")  Object,  ? super @TypeAnno1("TypeAnno1")  Object> f24;
  18     public @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3  Class< ? extends @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3  Object> f31;
  19     public @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3  HashMap< ? extends @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3  Object,  ? extends @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3  Object> f32;
  20     public @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3  Class< ? super @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3  Object> f33;
  21     public @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3  HashMap< ? super @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3  Object,  ? super @TypeAnno1("TypeAnno1") @TypeAnno2("TypeAnno2") @TypeAnno3  Object> f34;
  22     public @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2")  Class< ? extends @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2")  Object> f41;
  23     public @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2")  HashMap< ? extends @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2")  Object,  ? extends @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2")  Object> f42;
  24     public @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2")  Class< ? super @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2")  Object> f43;
  25     public @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2")  HashMap< ? super @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2")  Object,  ? super @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2") @TypeAnno2("TypeAnno2")  Object> f44;
  26     public @TypeAnno3 @TypeAnno3 @TypeAnno3  Class< ? extends @TypeAnno3 @TypeAnno3 @TypeAnno3  Object> f51;
  27     public @TypeAnno3 @TypeAnno3 @TypeAnno3  HashMap< ? extends @TypeAnno3 @TypeAnno3 @TypeAnno3  Object,  ? extends @TypeAnno3 @TypeAnno3 @TypeAnno3  Object> f52;
  28     public @TypeAnno3 @TypeAnno3 @TypeAnno3  Class< ? super @TypeAnno3 @TypeAnno3 @TypeAnno3  Object> f53;
  29     public @TypeAnno3 @TypeAnno3 @TypeAnno3  HashMap< ? super @TypeAnno3 @TypeAnno3 @TypeAnno3  Object,  ? super @TypeAnno3 @TypeAnno3 @TypeAnno3  Object> f54;
  30     public @TypeAnno3  Class< ? extends @TypeAnno3  Object> f61;
  31     public @TypeAnno3  HashMap< ? extends @TypeAnno3  Object,  ? extends @TypeAnno3  Object> f62;
  32     public @TypeAnno3  Class< ? super @TypeAnno3  Object> f63;
  33     public @TypeAnno3  HashMap< ? super @TypeAnno3  Object,  ? super @TypeAnno3  Object> f64;
  34 
  35 }
  36 
  37 @Target(ElementType.TYPE_USE)
  38 @Retention(RetentionPolicy.RUNTIME)
  39 @Repeatable(TypeAnno1Container.class)
  40 @interface TypeAnno1 {
  41     String value();
  42 }
  43 @Target(ElementType.TYPE_USE)
  44 @Retention(RetentionPolicy.RUNTIME)
  45 @Repeatable(TypeAnno2Container.class)
  46 @interface TypeAnno2 {
  47     String value();
  48 }
  49 @Target(ElementType.TYPE_USE)
  50 @Retention(RetentionPolicy.RUNTIME)
  51 @Repeatable(TypeAnno3Container.class)
  52 @interface TypeAnno3 {
  53 }
  54 @Target(ElementType.TYPE_USE)
  55 @Retention(RetentionPolicy.RUNTIME)
  56 @interface TypeAnno1Container {
  57     TypeAnno1[] value();
  58 }
  59 @Target(ElementType.TYPE_USE)
  60 @Retention(RetentionPolicy.RUNTIME)
  61 @interface TypeAnno2Container {
  62     TypeAnno2[] value();
  63 }
  64 @Target(ElementType.TYPE_USE)
  65 @Retention(RetentionPolicy.RUNTIME)
  66 @interface TypeAnno3Container {
  67     TypeAnno3[] value();
  68 }
  69