BCT candidates=200
tsz is 1.1x faster 428 lines 36 KB
Timing
Files
// Best Common Type O(N^2) stress test
class Base { base: string = ""; }
class Derived0 extends Base { prop0: number = 0; }
class Derived1 extends Base { prop1: number = 1; }
class Derived2 extends Base { prop2: number = 2; }
class Derived3 extends Base { prop3: number = 3; }
class Derived4 extends Base { prop4: number = 4; }
class Derived5 extends Base { prop5: number = 5; }
class Derived6 extends Base { prop6: number = 6; }
class Derived7 extends Base { prop7: number = 7; }
class Derived8 extends Base { prop8: number = 8; }
class Derived9 extends Base { prop9: number = 9; }
class Derived10 extends Base { prop10: number = 10; }
class Derived11 extends Base { prop11: number = 11; }
class Derived12 extends Base { prop12: number = 12; }
class Derived13 extends Base { prop13: number = 13; }
class Derived14 extends Base { prop14: number = 14; }
class Derived15 extends Base { prop15: number = 15; }
class Derived16 extends Base { prop16: number = 16; }
class Derived17 extends Base { prop17: number = 17; }
class Derived18 extends Base { prop18: number = 18; }
class Derived19 extends Base { prop19: number = 19; }
class Derived20 extends Base { prop20: number = 20; }
class Derived21 extends Base { prop21: number = 21; }
class Derived22 extends Base { prop22: number = 22; }
class Derived23 extends Base { prop23: number = 23; }
class Derived24 extends Base { prop24: number = 24; }
class Derived25 extends Base { prop25: number = 25; }
class Derived26 extends Base { prop26: number = 26; }
class Derived27 extends Base { prop27: number = 27; }
class Derived28 extends Base { prop28: number = 28; }
class Derived29 extends Base { prop29: number = 29; }
class Derived30 extends Base { prop30: number = 30; }
class Derived31 extends Base { prop31: number = 31; }
class Derived32 extends Base { prop32: number = 32; }
class Derived33 extends Base { prop33: number = 33; }
class Derived34 extends Base { prop34: number = 34; }
class Derived35 extends Base { prop35: number = 35; }
class Derived36 extends Base { prop36: number = 36; }
class Derived37 extends Base { prop37: number = 37; }
class Derived38 extends Base { prop38: number = 38; }
class Derived39 extends Base { prop39: number = 39; }
class Derived40 extends Base { prop40: number = 40; }
class Derived41 extends Base { prop41: number = 41; }
class Derived42 extends Base { prop42: number = 42; }
class Derived43 extends Base { prop43: number = 43; }
class Derived44 extends Base { prop44: number = 44; }
class Derived45 extends Base { prop45: number = 45; }
class Derived46 extends Base { prop46: number = 46; }
class Derived47 extends Base { prop47: number = 47; }
class Derived48 extends Base { prop48: number = 48; }
class Derived49 extends Base { prop49: number = 49; }
class Derived50 extends Base { prop50: number = 50; }
class Derived51 extends Base { prop51: number = 51; }
class Derived52 extends Base { prop52: number = 52; }
class Derived53 extends Base { prop53: number = 53; }
class Derived54 extends Base { prop54: number = 54; }
class Derived55 extends Base { prop55: number = 55; }
class Derived56 extends Base { prop56: number = 56; }
class Derived57 extends Base { prop57: number = 57; }
class Derived58 extends Base { prop58: number = 58; }
class Derived59 extends Base { prop59: number = 59; }
class Derived60 extends Base { prop60: number = 60; }
class Derived61 extends Base { prop61: number = 61; }
class Derived62 extends Base { prop62: number = 62; }
class Derived63 extends Base { prop63: number = 63; }
class Derived64 extends Base { prop64: number = 64; }
class Derived65 extends Base { prop65: number = 65; }
class Derived66 extends Base { prop66: number = 66; }
class Derived67 extends Base { prop67: number = 67; }
class Derived68 extends Base { prop68: number = 68; }
class Derived69 extends Base { prop69: number = 69; }
class Derived70 extends Base { prop70: number = 70; }
class Derived71 extends Base { prop71: number = 71; }
class Derived72 extends Base { prop72: number = 72; }
class Derived73 extends Base { prop73: number = 73; }
class Derived74 extends Base { prop74: number = 74; }
class Derived75 extends Base { prop75: number = 75; }
class Derived76 extends Base { prop76: number = 76; }
class Derived77 extends Base { prop77: number = 77; }
class Derived78 extends Base { prop78: number = 78; }
class Derived79 extends Base { prop79: number = 79; }
class Derived80 extends Base { prop80: number = 80; }
class Derived81 extends Base { prop81: number = 81; }
class Derived82 extends Base { prop82: number = 82; }
class Derived83 extends Base { prop83: number = 83; }
class Derived84 extends Base { prop84: number = 84; }
class Derived85 extends Base { prop85: number = 85; }
class Derived86 extends Base { prop86: number = 86; }
class Derived87 extends Base { prop87: number = 87; }
class Derived88 extends Base { prop88: number = 88; }
class Derived89 extends Base { prop89: number = 89; }
class Derived90 extends Base { prop90: number = 90; }
class Derived91 extends Base { prop91: number = 91; }
class Derived92 extends Base { prop92: number = 92; }
class Derived93 extends Base { prop93: number = 93; }
class Derived94 extends Base { prop94: number = 94; }
class Derived95 extends Base { prop95: number = 95; }
class Derived96 extends Base { prop96: number = 96; }
class Derived97 extends Base { prop97: number = 97; }
class Derived98 extends Base { prop98: number = 98; }
class Derived99 extends Base { prop99: number = 99; }
class Derived100 extends Base { prop100: number = 100; }
class Derived101 extends Base { prop101: number = 101; }
class Derived102 extends Base { prop102: number = 102; }
class Derived103 extends Base { prop103: number = 103; }
class Derived104 extends Base { prop104: number = 104; }
class Derived105 extends Base { prop105: number = 105; }
class Derived106 extends Base { prop106: number = 106; }
class Derived107 extends Base { prop107: number = 107; }
class Derived108 extends Base { prop108: number = 108; }
class Derived109 extends Base { prop109: number = 109; }
class Derived110 extends Base { prop110: number = 110; }
class Derived111 extends Base { prop111: number = 111; }
class Derived112 extends Base { prop112: number = 112; }
class Derived113 extends Base { prop113: number = 113; }
class Derived114 extends Base { prop114: number = 114; }
class Derived115 extends Base { prop115: number = 115; }
class Derived116 extends Base { prop116: number = 116; }
class Derived117 extends Base { prop117: number = 117; }
class Derived118 extends Base { prop118: number = 118; }
class Derived119 extends Base { prop119: number = 119; }
class Derived120 extends Base { prop120: number = 120; }
class Derived121 extends Base { prop121: number = 121; }
class Derived122 extends Base { prop122: number = 122; }
class Derived123 extends Base { prop123: number = 123; }
class Derived124 extends Base { prop124: number = 124; }
class Derived125 extends Base { prop125: number = 125; }
class Derived126 extends Base { prop126: number = 126; }
class Derived127 extends Base { prop127: number = 127; }
class Derived128 extends Base { prop128: number = 128; }
class Derived129 extends Base { prop129: number = 129; }
class Derived130 extends Base { prop130: number = 130; }
class Derived131 extends Base { prop131: number = 131; }
class Derived132 extends Base { prop132: number = 132; }
class Derived133 extends Base { prop133: number = 133; }
class Derived134 extends Base { prop134: number = 134; }
class Derived135 extends Base { prop135: number = 135; }
class Derived136 extends Base { prop136: number = 136; }
class Derived137 extends Base { prop137: number = 137; }
class Derived138 extends Base { prop138: number = 138; }
class Derived139 extends Base { prop139: number = 139; }
class Derived140 extends Base { prop140: number = 140; }
class Derived141 extends Base { prop141: number = 141; }
class Derived142 extends Base { prop142: number = 142; }
class Derived143 extends Base { prop143: number = 143; }
class Derived144 extends Base { prop144: number = 144; }
class Derived145 extends Base { prop145: number = 145; }
class Derived146 extends Base { prop146: number = 146; }
class Derived147 extends Base { prop147: number = 147; }
class Derived148 extends Base { prop148: number = 148; }
class Derived149 extends Base { prop149: number = 149; }
class Derived150 extends Base { prop150: number = 150; }
class Derived151 extends Base { prop151: number = 151; }
class Derived152 extends Base { prop152: number = 152; }
class Derived153 extends Base { prop153: number = 153; }
class Derived154 extends Base { prop154: number = 154; }
class Derived155 extends Base { prop155: number = 155; }
class Derived156 extends Base { prop156: number = 156; }
class Derived157 extends Base { prop157: number = 157; }
class Derived158 extends Base { prop158: number = 158; }
class Derived159 extends Base { prop159: number = 159; }
class Derived160 extends Base { prop160: number = 160; }
class Derived161 extends Base { prop161: number = 161; }
class Derived162 extends Base { prop162: number = 162; }
class Derived163 extends Base { prop163: number = 163; }
class Derived164 extends Base { prop164: number = 164; }
class Derived165 extends Base { prop165: number = 165; }
class Derived166 extends Base { prop166: number = 166; }
class Derived167 extends Base { prop167: number = 167; }
class Derived168 extends Base { prop168: number = 168; }
class Derived169 extends Base { prop169: number = 169; }
class Derived170 extends Base { prop170: number = 170; }
class Derived171 extends Base { prop171: number = 171; }
class Derived172 extends Base { prop172: number = 172; }
class Derived173 extends Base { prop173: number = 173; }
class Derived174 extends Base { prop174: number = 174; }
class Derived175 extends Base { prop175: number = 175; }
class Derived176 extends Base { prop176: number = 176; }
class Derived177 extends Base { prop177: number = 177; }
class Derived178 extends Base { prop178: number = 178; }
class Derived179 extends Base { prop179: number = 179; }
class Derived180 extends Base { prop180: number = 180; }
class Derived181 extends Base { prop181: number = 181; }
class Derived182 extends Base { prop182: number = 182; }
class Derived183 extends Base { prop183: number = 183; }
class Derived184 extends Base { prop184: number = 184; }
class Derived185 extends Base { prop185: number = 185; }
class Derived186 extends Base { prop186: number = 186; }
class Derived187 extends Base { prop187: number = 187; }
class Derived188 extends Base { prop188: number = 188; }
class Derived189 extends Base { prop189: number = 189; }
class Derived190 extends Base { prop190: number = 190; }
class Derived191 extends Base { prop191: number = 191; }
class Derived192 extends Base { prop192: number = 192; }
class Derived193 extends Base { prop193: number = 193; }
class Derived194 extends Base { prop194: number = 194; }
class Derived195 extends Base { prop195: number = 195; }
class Derived196 extends Base { prop196: number = 196; }
class Derived197 extends Base { prop197: number = 197; }
class Derived198 extends Base { prop198: number = 198; }
class Derived199 extends Base { prop199: number = 199; }
const items = [new Derived0(), new Derived1(), new Derived2(), new Derived3(), new Derived4(), new Derived5(), new Derived6(), new Derived7(), new Derived8(), new Derived9(), new Derived10(), new Derived11(), new Derived12(), new Derived13(), new Derived14(), new Derived15(), new Derived16(), new Derived17(), new Derived18(), new Derived19(), new Derived20(), new Derived21(), new Derived22(), new Derived23(), new Derived24(), new Derived25(), new Derived26(), new Derived27(), new Derived28(), new Derived29(), new Derived30(), new Derived31(), new Derived32(), new Derived33(), new Derived34(), new Derived35(), new Derived36(), new Derived37(), new Derived38(), new Derived39(), new Derived40(), new Derived41(), new Derived42(), new Derived43(), new Derived44(), new Derived45(), new Derived46(), new Derived47(), new Derived48(), new Derived49(), new Derived50(), new Derived51(), new Derived52(), new Derived53(), new Derived54(), new Derived55(), new Derived56(), new Derived57(), new Derived58(), new Derived59(), new Derived60(), new Derived61(), new Derived62(), new Derived63(), new Derived64(), new Derived65(), new Derived66(), new Derived67(), new Derived68(), new Derived69(), new Derived70(), new Derived71(), new Derived72(), new Derived73(), new Derived74(), new Derived75(), new Derived76(), new Derived77(), new Derived78(), new Derived79(), new Derived80(), new Derived81(), new Derived82(), new Derived83(), new Derived84(), new Derived85(), new Derived86(), new Derived87(), new Derived88(), new Derived89(), new Derived90(), new Derived91(), new Derived92(), new Derived93(), new Derived94(), new Derived95(), new Derived96(), new Derived97(), new Derived98(), new Derived99(), new Derived100(), new Derived101(), new Derived102(), new Derived103(), new Derived104(), new Derived105(), new Derived106(), new Derived107(), new Derived108(), new Derived109(), new Derived110(), new Derived111(), new Derived112(), new Derived113(), new Derived114(), new Derived115(), new Derived116(), new Derived117(), new Derived118(), new Derived119(), new Derived120(), new Derived121(), new Derived122(), new Derived123(), new Derived124(), new Derived125(), new Derived126(), new Derived127(), new Derived128(), new Derived129(), new Derived130(), new Derived131(), new Derived132(), new Derived133(), new Derived134(), new Derived135(), new Derived136(), new Derived137(), new Derived138(), new Derived139(), new Derived140(), new Derived141(), new Derived142(), new Derived143(), new Derived144(), new Derived145(), new Derived146(), new Derived147(), new Derived148(), new Derived149(), new Derived150(), new Derived151(), new Derived152(), new Derived153(), new Derived154(), new Derived155(), new Derived156(), new Derived157(), new Derived158(), new Derived159(), new Derived160(), new Derived161(), new Derived162(), new Derived163(), new Derived164(), new Derived165(), new Derived166(), new Derived167(), new Derived168(), new Derived169(), new Derived170(), new Derived171(), new Derived172(), new Derived173(), new Derived174(), new Derived175(), new Derived176(), new Derived177(), new Derived178(), new Derived179(), new Derived180(), new Derived181(), new Derived182(), new Derived183(), new Derived184(), new Derived185(), new Derived186(), new Derived187(), new Derived188(), new Derived189(), new Derived190(), new Derived191(), new Derived192(), new Derived193(), new Derived194(), new Derived195(), new Derived196(), new Derived197(), new Derived198(), new Derived199()];
function pickOne(index: number) {
if (index === 0) return new Derived0();
if (index === 1) return new Derived1();
if (index === 2) return new Derived2();
if (index === 3) return new Derived3();
if (index === 4) return new Derived4();
if (index === 5) return new Derived5();
if (index === 6) return new Derived6();
if (index === 7) return new Derived7();
if (index === 8) return new Derived8();
if (index === 9) return new Derived9();
if (index === 10) return new Derived10();
if (index === 11) return new Derived11();
if (index === 12) return new Derived12();
if (index === 13) return new Derived13();
if (index === 14) return new Derived14();
if (index === 15) return new Derived15();
if (index === 16) return new Derived16();
if (index === 17) return new Derived17();
if (index === 18) return new Derived18();
if (index === 19) return new Derived19();
if (index === 20) return new Derived20();
if (index === 21) return new Derived21();
if (index === 22) return new Derived22();
if (index === 23) return new Derived23();
if (index === 24) return new Derived24();
if (index === 25) return new Derived25();
if (index === 26) return new Derived26();
if (index === 27) return new Derived27();
if (index === 28) return new Derived28();
if (index === 29) return new Derived29();
if (index === 30) return new Derived30();
if (index === 31) return new Derived31();
if (index === 32) return new Derived32();
if (index === 33) return new Derived33();
if (index === 34) return new Derived34();
if (index === 35) return new Derived35();
if (index === 36) return new Derived36();
if (index === 37) return new Derived37();
if (index === 38) return new Derived38();
if (index === 39) return new Derived39();
if (index === 40) return new Derived40();
if (index === 41) return new Derived41();
if (index === 42) return new Derived42();
if (index === 43) return new Derived43();
if (index === 44) return new Derived44();
if (index === 45) return new Derived45();
if (index === 46) return new Derived46();
if (index === 47) return new Derived47();
if (index === 48) return new Derived48();
if (index === 49) return new Derived49();
if (index === 50) return new Derived50();
if (index === 51) return new Derived51();
if (index === 52) return new Derived52();
if (index === 53) return new Derived53();
if (index === 54) return new Derived54();
if (index === 55) return new Derived55();
if (index === 56) return new Derived56();
if (index === 57) return new Derived57();
if (index === 58) return new Derived58();
if (index === 59) return new Derived59();
if (index === 60) return new Derived60();
if (index === 61) return new Derived61();
if (index === 62) return new Derived62();
if (index === 63) return new Derived63();
if (index === 64) return new Derived64();
if (index === 65) return new Derived65();
if (index === 66) return new Derived66();
if (index === 67) return new Derived67();
if (index === 68) return new Derived68();
if (index === 69) return new Derived69();
if (index === 70) return new Derived70();
if (index === 71) return new Derived71();
if (index === 72) return new Derived72();
if (index === 73) return new Derived73();
if (index === 74) return new Derived74();
if (index === 75) return new Derived75();
if (index === 76) return new Derived76();
if (index === 77) return new Derived77();
if (index === 78) return new Derived78();
if (index === 79) return new Derived79();
if (index === 80) return new Derived80();
if (index === 81) return new Derived81();
if (index === 82) return new Derived82();
if (index === 83) return new Derived83();
if (index === 84) return new Derived84();
if (index === 85) return new Derived85();
if (index === 86) return new Derived86();
if (index === 87) return new Derived87();
if (index === 88) return new Derived88();
if (index === 89) return new Derived89();
if (index === 90) return new Derived90();
if (index === 91) return new Derived91();
if (index === 92) return new Derived92();
if (index === 93) return new Derived93();
if (index === 94) return new Derived94();
if (index === 95) return new Derived95();
if (index === 96) return new Derived96();
if (index === 97) return new Derived97();
if (index === 98) return new Derived98();
if (index === 99) return new Derived99();
if (index === 100) return new Derived100();
if (index === 101) return new Derived101();
if (index === 102) return new Derived102();
if (index === 103) return new Derived103();
if (index === 104) return new Derived104();
if (index === 105) return new Derived105();
if (index === 106) return new Derived106();
if (index === 107) return new Derived107();
if (index === 108) return new Derived108();
if (index === 109) return new Derived109();
if (index === 110) return new Derived110();
if (index === 111) return new Derived111();
if (index === 112) return new Derived112();
if (index === 113) return new Derived113();
if (index === 114) return new Derived114();
if (index === 115) return new Derived115();
if (index === 116) return new Derived116();
if (index === 117) return new Derived117();
if (index === 118) return new Derived118();
if (index === 119) return new Derived119();
if (index === 120) return new Derived120();
if (index === 121) return new Derived121();
if (index === 122) return new Derived122();
if (index === 123) return new Derived123();
if (index === 124) return new Derived124();
if (index === 125) return new Derived125();
if (index === 126) return new Derived126();
if (index === 127) return new Derived127();
if (index === 128) return new Derived128();
if (index === 129) return new Derived129();
if (index === 130) return new Derived130();
if (index === 131) return new Derived131();
if (index === 132) return new Derived132();
if (index === 133) return new Derived133();
if (index === 134) return new Derived134();
if (index === 135) return new Derived135();
if (index === 136) return new Derived136();
if (index === 137) return new Derived137();
if (index === 138) return new Derived138();
if (index === 139) return new Derived139();
if (index === 140) return new Derived140();
if (index === 141) return new Derived141();
if (index === 142) return new Derived142();
if (index === 143) return new Derived143();
if (index === 144) return new Derived144();
if (index === 145) return new Derived145();
if (index === 146) return new Derived146();
if (index === 147) return new Derived147();
if (index === 148) return new Derived148();
if (index === 149) return new Derived149();
if (index === 150) return new Derived150();
if (index === 151) return new Derived151();
if (index === 152) return new Derived152();
if (index === 153) return new Derived153();
if (index === 154) return new Derived154();
if (index === 155) return new Derived155();
if (index === 156) return new Derived156();
if (index === 157) return new Derived157();
if (index === 158) return new Derived158();
if (index === 159) return new Derived159();
if (index === 160) return new Derived160();
if (index === 161) return new Derived161();
if (index === 162) return new Derived162();
if (index === 163) return new Derived163();
if (index === 164) return new Derived164();
if (index === 165) return new Derived165();
if (index === 166) return new Derived166();
if (index === 167) return new Derived167();
if (index === 168) return new Derived168();
if (index === 169) return new Derived169();
if (index === 170) return new Derived170();
if (index === 171) return new Derived171();
if (index === 172) return new Derived172();
if (index === 173) return new Derived173();
if (index === 174) return new Derived174();
if (index === 175) return new Derived175();
if (index === 176) return new Derived176();
if (index === 177) return new Derived177();
if (index === 178) return new Derived178();
if (index === 179) return new Derived179();
if (index === 180) return new Derived180();
if (index === 181) return new Derived181();
if (index === 182) return new Derived182();
if (index === 183) return new Derived183();
if (index === 184) return new Derived184();
if (index === 185) return new Derived185();
if (index === 186) return new Derived186();
if (index === 187) return new Derived187();
if (index === 188) return new Derived188();
if (index === 189) return new Derived189();
if (index === 190) return new Derived190();
if (index === 191) return new Derived191();
if (index === 192) return new Derived192();
if (index === 193) return new Derived193();
if (index === 194) return new Derived194();
if (index === 195) return new Derived195();
if (index === 196) return new Derived196();
if (index === 197) return new Derived197();
if (index === 198) return new Derived198();
if (index === 199) return new Derived199();
return new Base();
}
function identity<T>(x: T): T { return x; }
const mixed = [identity(new Derived0()), identity(new Derived1()), identity(new Derived2()), identity(new Derived3()), identity(new Derived4()), identity(new Derived5()), identity(new Derived6()), identity(new Derived7()), identity(new Derived8()), identity(new Derived9()), identity(new Derived10()), identity(new Derived11()), identity(new Derived12()), identity(new Derived13()), identity(new Derived14()), identity(new Derived15()), identity(new Derived16()), identity(new Derived17()), identity(new Derived18()), identity(new Derived19()), identity(new Derived20()), identity(new Derived21()), identity(new Derived22()), identity(new Derived23()), identity(new Derived24()), identity(new Derived25()), identity(new Derived26()), identity(new Derived27()), identity(new Derived28()), identity(new Derived29()), identity(new Derived30()), identity(new Derived31()), identity(new Derived32()), identity(new Derived33()), identity(new Derived34()), identity(new Derived35()), identity(new Derived36()), identity(new Derived37()), identity(new Derived38()), identity(new Derived39()), identity(new Derived40()), identity(new Derived41()), identity(new Derived42()), identity(new Derived43()), identity(new Derived44()), identity(new Derived45()), identity(new Derived46()), identity(new Derived47()), identity(new Derived48()), identity(new Derived49()), identity(new Derived50()), identity(new Derived51()), identity(new Derived52()), identity(new Derived53()), identity(new Derived54()), identity(new Derived55()), identity(new Derived56()), identity(new Derived57()), identity(new Derived58()), identity(new Derived59()), identity(new Derived60()), identity(new Derived61()), identity(new Derived62()), identity(new Derived63()), identity(new Derived64()), identity(new Derived65()), identity(new Derived66()), identity(new Derived67()), identity(new Derived68()), identity(new Derived69()), identity(new Derived70()), identity(new Derived71()), identity(new Derived72()), identity(new Derived73()), identity(new Derived74()), identity(new Derived75()), identity(new Derived76()), identity(new Derived77()), identity(new Derived78()), identity(new Derived79()), identity(new Derived80()), identity(new Derived81()), identity(new Derived82()), identity(new Derived83()), identity(new Derived84()), identity(new Derived85()), identity(new Derived86()), identity(new Derived87()), identity(new Derived88()), identity(new Derived89()), identity(new Derived90()), identity(new Derived91()), identity(new Derived92()), identity(new Derived93()), identity(new Derived94()), identity(new Derived95()), identity(new Derived96()), identity(new Derived97()), identity(new Derived98()), identity(new Derived99()), identity(new Derived100()), identity(new Derived101()), identity(new Derived102()), identity(new Derived103()), identity(new Derived104()), identity(new Derived105()), identity(new Derived106()), identity(new Derived107()), identity(new Derived108()), identity(new Derived109()), identity(new Derived110()), identity(new Derived111()), identity(new Derived112()), identity(new Derived113()), identity(new Derived114()), identity(new Derived115()), identity(new Derived116()), identity(new Derived117()), identity(new Derived118()), identity(new Derived119()), identity(new Derived120()), identity(new Derived121()), identity(new Derived122()), identity(new Derived123()), identity(new Derived124()), identity(new Derived125()), identity(new Derived126()), identity(new Derived127()), identity(new Derived128()), identity(new Derived129()), identity(new Derived130()), identity(new Derived131()), identity(new Derived132()), identity(new Derived133()), identity(new Derived134()), identity(new Derived135()), identity(new Derived136()), identity(new Derived137()), identity(new Derived138()), identity(new Derived139()), identity(new Derived140()), identity(new Derived141()), identity(new Derived142()), identity(new Derived143()), identity(new Derived144()), identity(new Derived145()), identity(new Derived146()), identity(new Derived147()), identity(new Derived148()), identity(new Derived149()), identity(new Derived150()), identity(new Derived151()), identity(new Derived152()), identity(new Derived153()), identity(new Derived154()), identity(new Derived155()), identity(new Derived156()), identity(new Derived157()), identity(new Derived158()), identity(new Derived159()), identity(new Derived160()), identity(new Derived161()), identity(new Derived162()), identity(new Derived163()), identity(new Derived164()), identity(new Derived165()), identity(new Derived166()), identity(new Derived167()), identity(new Derived168()), identity(new Derived169()), identity(new Derived170()), identity(new Derived171()), identity(new Derived172()), identity(new Derived173()), identity(new Derived174()), identity(new Derived175()), identity(new Derived176()), identity(new Derived177()), identity(new Derived178()), identity(new Derived179()), identity(new Derived180()), identity(new Derived181()), identity(new Derived182()), identity(new Derived183()), identity(new Derived184()), identity(new Derived185()), identity(new Derived186()), identity(new Derived187()), identity(new Derived188()), identity(new Derived189()), identity(new Derived190()), identity(new Derived191()), identity(new Derived192()), identity(new Derived193()), identity(new Derived194()), identity(new Derived195()), identity(new Derived196()), identity(new Derived197()), identity(new Derived198()), identity(new Derived199())];
declare const flag: number;
const chosen = flag === 0 ? new Derived0() : flag === 1 ? new Derived1() : flag === 2 ? new Derived2() : flag === 3 ? new Derived3() : flag === 4 ? new Derived4() : flag === 5 ? new Derived5() : flag === 6 ? new Derived6() : flag === 7 ? new Derived7() : flag === 8 ? new Derived8() : flag === 9 ? new Derived9() : flag === 10 ? new Derived10() : flag === 11 ? new Derived11() : flag === 12 ? new Derived12() : flag === 13 ? new Derived13() : flag === 14 ? new Derived14() : flag === 15 ? new Derived15() : flag === 16 ? new Derived16() : flag === 17 ? new Derived17() : flag === 18 ? new Derived18() : flag === 19 ? new Derived19() : flag === 20 ? new Derived20() : flag === 21 ? new Derived21() : flag === 22 ? new Derived22() : flag === 23 ? new Derived23() : flag === 24 ? new Derived24() : flag === 25 ? new Derived25() : flag === 26 ? new Derived26() : flag === 27 ? new Derived27() : flag === 28 ? new Derived28() : flag === 29 ? new Derived29() : flag === 30 ? new Derived30() : flag === 31 ? new Derived31() : flag === 32 ? new Derived32() : flag === 33 ? new Derived33() : flag === 34 ? new Derived34() : flag === 35 ? new Derived35() : flag === 36 ? new Derived36() : flag === 37 ? new Derived37() : flag === 38 ? new Derived38() : flag === 39 ? new Derived39() : flag === 40 ? new Derived40() : flag === 41 ? new Derived41() : flag === 42 ? new Derived42() : flag === 43 ? new Derived43() : flag === 44 ? new Derived44() : flag === 45 ? new Derived45() : flag === 46 ? new Derived46() : flag === 47 ? new Derived47() : flag === 48 ? new Derived48() : flag === 49 ? new Derived49() : flag === 50 ? new Derived50() : flag === 51 ? new Derived51() : flag === 52 ? new Derived52() : flag === 53 ? new Derived53() : flag === 54 ? new Derived54() : flag === 55 ? new Derived55() : flag === 56 ? new Derived56() : flag === 57 ? new Derived57() : flag === 58 ? new Derived58() : flag === 59 ? new Derived59() : flag === 60 ? new Derived60() : flag === 61 ? new Derived61() : flag === 62 ? new Derived62() : flag === 63 ? new Derived63() : flag === 64 ? new Derived64() : flag === 65 ? new Derived65() : flag === 66 ? new Derived66() : flag === 67 ? new Derived67() : flag === 68 ? new Derived68() : flag === 69 ? new Derived69() : flag === 70 ? new Derived70() : flag === 71 ? new Derived71() : flag === 72 ? new Derived72() : flag === 73 ? new Derived73() : flag === 74 ? new Derived74() : flag === 75 ? new Derived75() : flag === 76 ? new Derived76() : flag === 77 ? new Derived77() : flag === 78 ? new Derived78() : flag === 79 ? new Derived79() : flag === 80 ? new Derived80() : flag === 81 ? new Derived81() : flag === 82 ? new Derived82() : flag === 83 ? new Derived83() : flag === 84 ? new Derived84() : flag === 85 ? new Derived85() : flag === 86 ? new Derived86() : flag === 87 ? new Derived87() : flag === 88 ? new Derived88() : flag === 89 ? new Derived89() : flag === 90 ? new Derived90() : flag === 91 ? new Derived91() : flag === 92 ? new Derived92() : flag === 93 ? new Derived93() : flag === 94 ? new Derived94() : flag === 95 ? new Derived95() : flag === 96 ? new Derived96() : flag === 97 ? new Derived97() : flag === 98 ? new Derived98() : flag === 99 ? new Derived99() : flag === 100 ? new Derived100() : flag === 101 ? new Derived101() : flag === 102 ? new Derived102() : flag === 103 ? new Derived103() : flag === 104 ? new Derived104() : flag === 105 ? new Derived105() : flag === 106 ? new Derived106() : flag === 107 ? new Derived107() : flag === 108 ? new Derived108() : flag === 109 ? new Derived109() : flag === 110 ? new Derived110() : flag === 111 ? new Derived111() : flag === 112 ? new Derived112() : flag === 113 ? new Derived113() : flag === 114 ? new Derived114() : flag === 115 ? new Derived115() : flag === 116 ? new Derived116() : flag === 117 ? new Derived117() : flag === 118 ? new Derived118() : flag === 119 ? new Derived119() : flag === 120 ? new Derived120() : flag === 121 ? new Derived121() : flag === 122 ? new Derived122() : flag === 123 ? new Derived123() : flag === 124 ? new Derived124() : flag === 125 ? new Derived125() : flag === 126 ? new Derived126() : flag === 127 ? new Derived127() : flag === 128 ? new Derived128() : flag === 129 ? new Derived129() : flag === 130 ? new Derived130() : flag === 131 ? new Derived131() : flag === 132 ? new Derived132() : flag === 133 ? new Derived133() : flag === 134 ? new Derived134() : flag === 135 ? new Derived135() : flag === 136 ? new Derived136() : flag === 137 ? new Derived137() : flag === 138 ? new Derived138() : flag === 139 ? new Derived139() : flag === 140 ? new Derived140() : flag === 141 ? new Derived141() : flag === 142 ? new Derived142() : flag === 143 ? new Derived143() : flag === 144 ? new Derived144() : flag === 145 ? new Derived145() : flag === 146 ? new Derived146() : flag === 147 ? new Derived147() : flag === 148 ? new Derived148() : flag === 149 ? new Derived149() : flag === 150 ? new Derived150() : flag === 151 ? new Derived151() : flag === 152 ? new Derived152() : flag === 153 ? new Derived153() : flag === 154 ? new Derived154() : flag === 155 ? new Derived155() : flag === 156 ? new Derived156() : flag === 157 ? new Derived157() : flag === 158 ? new Derived158() : flag === 159 ? new Derived159() : flag === 160 ? new Derived160() : flag === 161 ? new Derived161() : flag === 162 ? new Derived162() : flag === 163 ? new Derived163() : flag === 164 ? new Derived164() : flag === 165 ? new Derived165() : flag === 166 ? new Derived166() : flag === 167 ? new Derived167() : flag === 168 ? new Derived168() : flag === 169 ? new Derived169() : flag === 170 ? new Derived170() : flag === 171 ? new Derived171() : flag === 172 ? new Derived172() : flag === 173 ? new Derived173() : flag === 174 ? new Derived174() : flag === 175 ? new Derived175() : flag === 176 ? new Derived176() : flag === 177 ? new Derived177() : flag === 178 ? new Derived178() : flag === 179 ? new Derived179() : flag === 180 ? new Derived180() : flag === 181 ? new Derived181() : flag === 182 ? new Derived182() : flag === 183 ? new Derived183() : flag === 184 ? new Derived184() : flag === 185 ? new Derived185() : flag === 186 ? new Derived186() : flag === 187 ? new Derived187() : flag === 188 ? new Derived188() : flag === 189 ? new Derived189() : flag === 190 ? new Derived190() : flag === 191 ? new Derived191() : flag === 192 ? new Derived192() : flag === 193 ? new Derived193() : flag === 194 ? new Derived194() : flag === 195 ? new Derived195() : flag === 196 ? new Derived196() : flag === 197 ? new Derived197() : flag === 198 ? new Derived198() : flag === 199 ? new Derived199() : new Base();