SOURCE_FILE@[0; 3813) COMMENT@[0; 55) "//! Adapted from a `r ..." WHITESPACE@[55; 56) "\n" COMMENT@[56; 173) "//! https://github.co ..." WHITESPACE@[173; 174) "\n" COMMENT@[174; 178) "//! " WHITESPACE@[178; 179) "\n" COMMENT@[179; 269) "//! Reported to rust- ..." WHITESPACE@[269; 271) "\n\n" ATTR@[271; 302) POUND@[271; 272) "#" EXCL@[272; 273) "!" TOKEN_TREE@[273; 302) L_BRACK@[273; 274) "[" IDENT@[274; 279) "allow" TOKEN_TREE@[279; 301) L_PAREN@[279; 280) "(" IDENT@[280; 300) "non_camel_case_types" R_PAREN@[300; 301) ")" R_BRACK@[301; 302) "]" WHITESPACE@[302; 303) "\n" ATTR@[303; 323) POUND@[303; 304) "#" EXCL@[304; 305) "!" TOKEN_TREE@[305; 323) L_BRACK@[305; 306) "[" IDENT@[306; 311) "allow" TOKEN_TREE@[311; 322) L_PAREN@[311; 312) "(" IDENT@[312; 321) "dead_code" R_PAREN@[321; 322) ")" R_BRACK@[322; 323) "]" WHITESPACE@[323; 324) "\n" ATTR@[324; 351) POUND@[324; 325) "#" EXCL@[325; 326) "!" TOKEN_TREE@[326; 351) L_BRACK@[326; 327) "[" IDENT@[327; 332) "allow" TOKEN_TREE@[332; 350) L_PAREN@[332; 333) "(" IDENT@[333; 349) "unreachable_code" R_PAREN@[349; 350) ")" R_BRACK@[350; 351) "]" WHITESPACE@[351; 352) "\n" ATTR@[352; 376) POUND@[352; 353) "#" EXCL@[353; 354) "!" TOKEN_TREE@[354; 376) L_BRACK@[354; 355) "[" IDENT@[355; 360) "allow" TOKEN_TREE@[360; 375) L_PAREN@[360; 361) "(" IDENT@[361; 374) "unused_parens" R_PAREN@[374; 375) ")" R_BRACK@[375; 376) "]" WHITESPACE@[376; 378) "\n\n" ATTR@[378; 405) POUND@[378; 379) "#" EXCL@[379; 380) "!" TOKEN_TREE@[380; 405) L_BRACK@[380; 381) "[" IDENT@[381; 396) "recursion_limit" WHITESPACE@[396; 397) " " EQ@[397; 398) "=" WHITESPACE@[398; 399) " " STRING@[399; 404) "\"128\"" R_BRACK@[404; 405) "]" WHITESPACE@[405; 407) "\n\n" USE_ITEM@[407; 427) USE_KW@[407; 410) "use" WHITESPACE@[410; 411) " " USE_TREE@[411; 426) PATH@[411; 426) PATH@[411; 420) PATH@[411; 414) PATH_SEGMENT@[411; 414) NAME_REF@[411; 414) IDENT@[411; 414) "std" COLONCOLON@[414; 416) "::" PATH_SEGMENT@[416; 420) NAME_REF@[416; 420) IDENT@[416; 420) "cell" COLONCOLON@[420; 422) "::" PATH_SEGMENT@[422; 426) NAME_REF@[422; 426) IDENT@[422; 426) "Cell" SEMI@[426; 427) ";" WHITESPACE@[427; 428) "\n" USE_ITEM@[428; 447) USE_KW@[428; 431) "use" WHITESPACE@[431; 432) " " USE_TREE@[432; 446) PATH@[432; 446) PATH@[432; 440) PATH@[432; 435) PATH_SEGMENT@[432; 435) NAME_REF@[432; 435) IDENT@[432; 435) "std" COLONCOLON@[435; 437) "::" PATH_SEGMENT@[437; 440) NAME_REF@[437; 440) IDENT@[437; 440) "mem" COLONCOLON@[440; 442) "::" PATH_SEGMENT@[442; 446) NAME_REF@[442; 446) IDENT@[442; 446) "swap" SEMI@[446; 447) ";" WHITESPACE@[447; 449) "\n\n" COMMENT@[449; 518) "// Just a grab bag of ..." WHITESPACE@[518; 520) "\n\n" FN_DEF@[520; 572) FN_KW@[520; 522) "fn" WHITESPACE@[522; 523) " " NAME@[523; 530) IDENT@[523; 530) "strange" PARAM_LIST@[530; 532) L_PAREN@[530; 531) "(" R_PAREN@[531; 532) ")" WHITESPACE@[532; 533) " " RET_TYPE@[533; 540) THIN_ARROW@[533; 535) "->" WHITESPACE@[535; 536) " " PATH_TYPE@[536; 540) PATH@[536; 540) PATH_SEGMENT@[536; 540) NAME_REF@[536; 540) IDENT@[536; 540) "bool" WHITESPACE@[540; 541) " " BLOCK@[541; 572) L_CURLY@[541; 542) "{" WHITESPACE@[542; 543) " " LET_STMT@[543; 570) LET_KW@[543; 546) "let" WHITESPACE@[546; 547) " " BIND_PAT@[547; 549) NAME@[547; 549) IDENT@[547; 549) "_x" COLON@[549; 550) ":" WHITESPACE@[550; 551) " " PATH_TYPE@[551; 555) PATH@[551; 555) PATH_SEGMENT@[551; 555) NAME_REF@[551; 555) IDENT@[551; 555) "bool" WHITESPACE@[555; 556) " " EQ@[556; 557) "=" WHITESPACE@[557; 558) " " RETURN_EXPR@[558; 569) RETURN_KW@[558; 564) "return" WHITESPACE@[564; 565) " " LITERAL@[565; 569) TRUE_KW@[565; 569) "true" SEMI@[569; 570) ";" WHITESPACE@[570; 571) " " R_CURLY@[571; 572) "}" WHITESPACE@[572; 574) "\n\n" FN_DEF@[574; 624) FN_KW@[574; 576) "fn" WHITESPACE@[576; 577) " " NAME@[577; 582) IDENT@[577; 582) "funny" PARAM_LIST@[582; 584) L_PAREN@[582; 583) "(" R_PAREN@[583; 584) ")" WHITESPACE@[584; 585) " " BLOCK@[585; 624) L_CURLY@[585; 586) "{" WHITESPACE@[586; 591) "\n " FN_DEF@[591; 607) FN_KW@[591; 593) "fn" WHITESPACE@[593; 594) " " NAME@[594; 595) IDENT@[594; 595) "f" PARAM_LIST@[595; 603) L_PAREN@[595; 596) "(" PARAM@[596; 602) BIND_PAT@[596; 598) NAME@[596; 598) IDENT@[596; 598) "_x" COLON@[598; 599) ":" WHITESPACE@[599; 600) " " TUPLE_TYPE@[600; 602) L_PAREN@[600; 601) "(" R_PAREN@[601; 602) ")" R_PAREN@[602; 603) ")" WHITESPACE@[603; 604) " " BLOCK@[604; 607) L_CURLY@[604; 605) "{" WHITESPACE@[605; 606) " " R_CURLY@[606; 607) "}" WHITESPACE@[607; 612) "\n " EXPR_STMT@[612; 622) CALL_EXPR@[612; 621) PATH_EXPR@[612; 613) PATH@[612; 613) PATH_SEGMENT@[612; 613) NAME_REF@[612; 613) IDENT@[612; 613) "f" ARG_LIST@[613; 621) L_PAREN@[613; 614) "(" RETURN_EXPR@[614; 620) RETURN_KW@[614; 620) "return" R_PAREN@[620; 621) ")" SEMI@[621; 622) ";" WHITESPACE@[622; 623) "\n" R_CURLY@[623; 624) "}" WHITESPACE@[624; 626) "\n\n" FN_DEF@[626; 816) FN_KW@[626; 628) "fn" WHITESPACE@[628; 629) " " NAME@[629; 633) IDENT@[629; 633) "what" PARAM_LIST@[633; 635) L_PAREN@[633; 634) "(" R_PAREN@[634; 635) ")" WHITESPACE@[635; 636) " " BLOCK@[636; 816) L_CURLY@[636; 637) "{" WHITESPACE@[637; 642) "\n " FN_DEF@[642; 720) FN_KW@[642; 644) "fn" WHITESPACE@[644; 645) " " NAME@[645; 648) IDENT@[645; 648) "the" PARAM_LIST@[648; 664) L_PAREN@[648; 649) "(" PARAM@[649; 663) BIND_PAT@[649; 650) NAME@[649; 650) IDENT@[649; 650) "x" COLON@[650; 651) ":" WHITESPACE@[651; 652) " " REFERENCE_TYPE@[652; 663) AMP@[652; 653) "&" PATH_TYPE@[653; 663) PATH@[653; 663) PATH_SEGMENT@[653; 663) NAME_REF@[653; 657) IDENT@[653; 657) "Cell" TYPE_ARG_LIST@[657; 663) L_ANGLE@[657; 658) "<" TYPE_ARG@[658; 662) PATH_TYPE@[658; 662) PATH@[658; 662) PATH_SEGMENT@[658; 662) NAME_REF@[658; 662) IDENT@[658; 662) "bool" R_ANGLE@[662; 663) ">" R_PAREN@[663; 664) ")" WHITESPACE@[664; 665) " " BLOCK@[665; 720) L_CURLY@[665; 666) "{" WHITESPACE@[666; 675) "\n " EXPR_STMT@[675; 714) RETURN_EXPR@[675; 713) RETURN_KW@[675; 681) "return" WHITESPACE@[681; 682) " " WHILE_EXPR@[682; 713) WHILE_KW@[682; 687) "while" WHITESPACE@[687; 688) " " CONDITION@[688; 696) PREFIX_EXPR@[688; 696) EXCL@[688; 689) "!" METHOD_CALL_EXPR@[689; 696) PATH_EXPR@[689; 690) PATH@[689; 690) PATH_SEGMENT@[689; 690) NAME_REF@[689; 690) IDENT@[689; 690) "x" DOT@[690; 691) "." NAME_REF@[691; 694) IDENT@[691; 694) "get" ARG_LIST@[694; 696) L_PAREN@[694; 695) "(" R_PAREN@[695; 696) ")" WHITESPACE@[696; 697) " " BLOCK@[697; 713) L_CURLY@[697; 698) "{" WHITESPACE@[698; 699) " " EXPR_STMT@[699; 711) METHOD_CALL_EXPR@[699; 710) PATH_EXPR@[699; 700) PATH@[699; 700) PATH_SEGMENT@[699; 700) NAME_REF@[699; 700) IDENT@[699; 700) "x" DOT@[700; 701) "." NAME_REF@[701; 704) IDENT@[701; 704) "set" ARG_LIST@[704; 710) L_PAREN@[704; 705) "(" LITERAL@[705; 709) TRUE_KW@[705; 709) "true" R_PAREN@[709; 710) ")" SEMI@[710; 711) ";" WHITESPACE@[711; 712) " " R_CURLY@[712; 713) "}" SEMI@[713; 714) ";" WHITESPACE@[714; 719) "\n " R_CURLY@[719; 720) "}" WHITESPACE@[720; 725) "\n " LET_STMT@[725; 751) LET_KW@[725; 728) "let" WHITESPACE@[728; 729) " " BIND_PAT@[729; 730) NAME@[729; 730) IDENT@[729; 730) "i" WHITESPACE@[730; 731) " " EQ@[731; 732) "=" WHITESPACE@[732; 733) " " REF_EXPR@[733; 750) AMP@[733; 734) "&" CALL_EXPR@[734; 750) PATH_EXPR@[734; 743) PATH@[734; 743) PATH@[734; 738) PATH_SEGMENT@[734; 738) NAME_REF@[734; 738) IDENT@[734; 738) "Cell" COLONCOLON@[738; 740) "::" PATH_SEGMENT@[740; 743) NAME_REF@[740; 743) IDENT@[740; 743) "new" ARG_LIST@[743; 750) L_PAREN@[743; 744) "(" LITERAL@[744; 749) FALSE_KW@[744; 749) "false" R_PAREN@[749; 750) ")" SEMI@[750; 751) ";" WHITESPACE@[751; 756) "\n " LET_STMT@[756; 778) LET_KW@[756; 759) "let" WHITESPACE@[759; 760) " " BIND_PAT@[760; 764) NAME@[760; 764) IDENT@[760; 764) "dont" WHITESPACE@[764; 765) " " EQ@[765; 766) "=" WHITESPACE@[766; 767) " " BLOCK_EXPR@[767; 777) BLOCK@[767; 777) L_CURLY@[767; 768) "{" LAMBDA_EXPR@[768; 776) PARAM_LIST@[768; 770) PIPE@[768; 769) "|" PIPE@[769; 770) "|" CALL_EXPR@[770; 776) PATH_EXPR@[770; 773) PATH@[770; 773) PATH_SEGMENT@[770; 773) NAME_REF@[770; 773) IDENT@[770; 773) "the" ARG_LIST@[773; 776) L_PAREN@[773; 774) "(" PATH_EXPR@[774; 775) PATH@[774; 775) PATH_SEGMENT@[774; 775) NAME_REF@[774; 775) IDENT@[774; 775) "i" R_PAREN@[775; 776) ")" R_CURLY@[776; 777) "}" SEMI@[777; 778) ";" WHITESPACE@[778; 783) "\n " EXPR_STMT@[783; 790) CALL_EXPR@[783; 789) PATH_EXPR@[783; 787) PATH@[783; 787) PATH_SEGMENT@[783; 787) NAME_REF@[783; 787) IDENT@[783; 787) "dont" ARG_LIST@[787; 789) L_PAREN@[787; 788) "(" R_PAREN@[788; 789) ")" SEMI@[789; 790) ";" WHITESPACE@[790; 795) "\n " EXPR_STMT@[795; 814) MACRO_CALL@[795; 813) PATH@[795; 801) PATH_SEGMENT@[795; 801) NAME_REF@[795; 801) IDENT@[795; 801) "assert" EXCL@[801; 802) "!" TOKEN_TREE@[802; 813) L_PAREN@[802; 803) "(" TOKEN_TREE@[803; 812) L_PAREN@[803; 804) "(" IDENT@[804; 805) "i" DOT@[805; 806) "." IDENT@[806; 809) "get" TOKEN_TREE@[809; 811) L_PAREN@[809; 810) "(" R_PAREN@[810; 811) ")" R_PAREN@[811; 812) ")" R_PAREN@[812; 813) ")" SEMI@[813; 814) ";" WHITESPACE@[814; 815) "\n" R_CURLY@[815; 816) "}" WHITESPACE@[816; 818) "\n\n" FN_DEF@[818; 1322) FN_KW@[818; 820) "fn" WHITESPACE@[820; 821) " " NAME@[821; 832) IDENT@[821; 832) "zombiejesus" PARAM_LIST@[832; 834) L_PAREN@[832; 833) "(" R_PAREN@[833; 834) ")" WHITESPACE@[834; 835) " " BLOCK@[835; 1322) L_CURLY@[835; 836) "{" WHITESPACE@[836; 841) "\n " LOOP_EXPR@[841; 1320) LOOP_KW@[841; 845) "loop" WHITESPACE@[845; 846) " " BLOCK@[846; 1320) L_CURLY@[846; 847) "{" WHITESPACE@[847; 856) "\n " EXPR_STMT@[856; 1283) WHILE_EXPR@[856; 1283) WHILE_KW@[856; 861) "while" WHITESPACE@[861; 862) " " CONDITION@[862; 870) PAREN_EXPR@[862; 870) L_PAREN@[862; 863) "(" RETURN_EXPR@[863; 869) RETURN_KW@[863; 869) "return" R_PAREN@[869; 870) ")" WHITESPACE@[870; 871) " " BLOCK@[871; 1283) L_CURLY@[871; 872) "{" WHITESPACE@[872; 885) "\n " IF_EXPR@[885; 1273) IF_KW@[885; 887) "if" WHITESPACE@[887; 888) " " CONDITION@[888; 896) PAREN_EXPR@[888; 896) L_PAREN@[888; 889) "(" RETURN_EXPR@[889; 895) RETURN_KW@[889; 895) "return" R_PAREN@[895; 896) ")" WHITESPACE@[896; 897) " " BLOCK@[897; 1216) L_CURLY@[897; 898) "{" WHITESPACE@[898; 915) "\n " EXPR_STMT@[915; 1202) MATCH_EXPR@[915; 1201) MATCH_KW@[915; 920) "match" WHITESPACE@[920; 921) " " PAREN_EXPR@[921; 929) L_PAREN@[921; 922) "(" RETURN_EXPR@[922; 928) RETURN_KW@[922; 928) "return" R_PAREN@[928; 929) ")" WHITESPACE@[929; 930) " " MATCH_ARM_LIST@[930; 1201) L_CURLY@[930; 931) "{" WHITESPACE@[931; 952) "\n " MATCH_ARM@[952; 1147) LITERAL_PAT@[952; 953) LITERAL@[952; 953) INT_NUMBER@[952; 953) "1" WHITESPACE@[953; 954) " " FAT_ARROW@[954; 956) "=>" WHITESPACE@[956; 957) " " BLOCK_EXPR@[957; 1147) BLOCK@[957; 1147) L_CURLY@[957; 958) "{" WHITESPACE@[958; 983) "\n ..." IF_EXPR@[983; 1125) IF_KW@[983; 985) "if" WHITESPACE@[985; 986) " " CONDITION@[986; 994) PAREN_EXPR@[986; 994) L_PAREN@[986; 987) "(" RETURN_EXPR@[987; 993) RETURN_KW@[987; 993) "return" R_PAREN@[993; 994) ")" WHITESPACE@[994; 995) " " BLOCK@[995; 1057) L_CURLY@[995; 996) "{" WHITESPACE@[996; 1025) "\n ..." RETURN_EXPR@[1025; 1031) RETURN_KW@[1025; 1031) "return" WHITESPACE@[1031; 1056) "\n ..." R_CURLY@[1056; 1057) "}" WHITESPACE@[1057; 1058) " " ELSE_KW@[1058; 1062) "else" WHITESPACE@[1062; 1063) " " BLOCK@[1063; 1125) L_CURLY@[1063; 1064) "{" WHITESPACE@[1064; 1093) "\n ..." RETURN_EXPR@[1093; 1099) RETURN_KW@[1093; 1099) "return" WHITESPACE@[1099; 1124) "\n ..." R_CURLY@[1124; 1125) "}" WHITESPACE@[1125; 1146) "\n " R_CURLY@[1146; 1147) "}" WHITESPACE@[1147; 1168) "\n " MATCH_ARM@[1168; 1183) PLACEHOLDER_PAT@[1168; 1169) UNDERSCORE@[1168; 1169) "_" WHITESPACE@[1169; 1170) " " FAT_ARROW@[1170; 1172) "=>" WHITESPACE@[1172; 1173) " " BLOCK_EXPR@[1173; 1183) BLOCK@[1173; 1183) L_CURLY@[1173; 1174) "{" WHITESPACE@[1174; 1175) " " RETURN_EXPR@[1175; 1181) RETURN_KW@[1175; 1181) "return" WHITESPACE@[1181; 1182) " " R_CURLY@[1182; 1183) "}" WHITESPACE@[1183; 1200) "\n " R_CURLY@[1200; 1201) "}" SEMI@[1201; 1202) ";" WHITESPACE@[1202; 1215) "\n " R_CURLY@[1215; 1216) "}" WHITESPACE@[1216; 1217) " " ELSE_KW@[1217; 1221) "else" WHITESPACE@[1221; 1222) " " IF_EXPR@[1222; 1273) IF_KW@[1222; 1224) "if" WHITESPACE@[1224; 1225) " " CONDITION@[1225; 1233) PAREN_EXPR@[1225; 1233) L_PAREN@[1225; 1226) "(" RETURN_EXPR@[1226; 1232) RETURN_KW@[1226; 1232) "return" R_PAREN@[1232; 1233) ")" WHITESPACE@[1233; 1234) " " BLOCK@[1234; 1273) L_CURLY@[1234; 1235) "{" WHITESPACE@[1235; 1252) "\n " EXPR_STMT@[1252; 1259) RETURN_EXPR@[1252; 1258) RETURN_KW@[1252; 1258) "return" SEMI@[1258; 1259) ";" WHITESPACE@[1259; 1272) "\n " R_CURLY@[1272; 1273) "}" WHITESPACE@[1273; 1282) "\n " R_CURLY@[1282; 1283) "}" WHITESPACE@[1283; 1292) "\n " IF_EXPR@[1292; 1314) IF_KW@[1292; 1294) "if" WHITESPACE@[1294; 1295) " " CONDITION@[1295; 1303) PAREN_EXPR@[1295; 1303) L_PAREN@[1295; 1296) "(" RETURN_EXPR@[1296; 1302) RETURN_KW@[1296; 1302) "return" R_PAREN@[1302; 1303) ")" WHITESPACE@[1303; 1304) " " BLOCK@[1304; 1314) L_CURLY@[1304; 1305) "{" WHITESPACE@[1305; 1306) " " EXPR_STMT@[1306; 1312) BREAK_EXPR@[1306; 1311) BREAK_KW@[1306; 1311) "break" SEMI@[1311; 1312) ";" WHITESPACE@[1312; 1313) " " R_CURLY@[1313; 1314) "}" WHITESPACE@[1314; 1319) "\n " R_CURLY@[1319; 1320) "}" WHITESPACE@[1320; 1321) "\n" R_CURLY@[1321; 1322) "}" WHITESPACE@[1322; 1324) "\n\n" FN_DEF@[1324; 1539) FN_KW@[1324; 1326) "fn" WHITESPACE@[1326; 1327) " " NAME@[1327; 1334) IDENT@[1327; 1334) "notsure" PARAM_LIST@[1334; 1336) L_PAREN@[1334; 1335) "(" R_PAREN@[1335; 1336) ")" WHITESPACE@[1336; 1337) " " BLOCK@[1337; 1539) L_CURLY@[1337; 1338) "{" WHITESPACE@[1338; 1343) "\n " LET_STMT@[1343; 1361) LET_KW@[1343; 1346) "let" WHITESPACE@[1346; 1347) " " BIND_PAT@[1347; 1353) MUT_KW@[1347; 1350) "mut" WHITESPACE@[1350; 1351) " " NAME@[1351; 1353) IDENT@[1351; 1353) "_x" COLON@[1353; 1354) ":" WHITESPACE@[1354; 1355) " " PATH_TYPE@[1355; 1360) PATH@[1355; 1360) PATH_SEGMENT@[1355; 1360) NAME_REF@[1355; 1360) IDENT@[1355; 1360) "isize" SEMI@[1360; 1361) ";" WHITESPACE@[1361; 1366) "\n " LET_STMT@[1366; 1400) LET_KW@[1366; 1369) "let" WHITESPACE@[1369; 1370) " " BIND_PAT@[1370; 1376) MUT_KW@[1370; 1373) "mut" WHITESPACE@[1373; 1374) " " NAME@[1374; 1376) IDENT@[1374; 1376) "_y" WHITESPACE@[1376; 1377) " " EQ@[1377; 1378) "=" WHITESPACE@[1378; 1379) " " BIN_EXPR@[1379; 1399) PAREN_EXPR@[1379; 1387) L_PAREN@[1379; 1380) "(" BIN_EXPR@[1380; 1386) PATH_EXPR@[1380; 1382) PATH@[1380; 1382) PATH_SEGMENT@[1380; 1382) NAME_REF@[1380; 1382) IDENT@[1380; 1382) "_x" WHITESPACE@[1382; 1383) " " EQ@[1383; 1384) "=" WHITESPACE@[1384; 1385) " " LITERAL@[1385; 1386) INT_NUMBER@[1385; 1386) "0" R_PAREN@[1386; 1387) ")" WHITESPACE@[1387; 1388) " " EQEQ@[1388; 1390) "==" WHITESPACE@[1390; 1391) " " PAREN_EXPR@[1391; 1399) L_PAREN@[1391; 1392) "(" BIN_EXPR@[1392; 1398) PATH_EXPR@[1392; 1394) PATH@[1392; 1394) PATH_SEGMENT@[1392; 1394) NAME_REF@[1392; 1394) IDENT@[1392; 1394) "_x" WHITESPACE@[1394; 1395) " " EQ@[1395; 1396) "=" WHITESPACE@[1396; 1397) " " LITERAL@[1397; 1398) INT_NUMBER@[1397; 1398) "0" R_PAREN@[1398; 1399) ")" SEMI@[1399; 1400) ";" WHITESPACE@[1400; 1405) "\n " LET_STMT@[1405; 1438) LET_KW@[1405; 1408) "let" WHITESPACE@[1408; 1409) " " BIND_PAT@[1409; 1415) MUT_KW@[1409; 1412) "mut" WHITESPACE@[1412; 1413) " " NAME@[1413; 1415) IDENT@[1413; 1415) "_z" WHITESPACE@[1415; 1416) " " EQ@[1416; 1417) "=" WHITESPACE@[1417; 1418) " " BIN_EXPR@[1418; 1437) PAREN_EXPR@[1418; 1426) L_PAREN@[1418; 1419) "(" BIN_EXPR@[1419; 1425) PATH_EXPR@[1419; 1421) PATH@[1419; 1421) PATH_SEGMENT@[1419; 1421) NAME_REF@[1419; 1421) IDENT@[1419; 1421) "_x" WHITESPACE@[1421; 1422) " " EQ@[1422; 1423) "=" WHITESPACE@[1423; 1424) " " LITERAL@[1424; 1425) INT_NUMBER@[1424; 1425) "0" R_PAREN@[1425; 1426) ")" WHITESPACE@[1426; 1427) " " L_ANGLE@[1427; 1428) "<" WHITESPACE@[1428; 1429) " " PAREN_EXPR@[1429; 1437) L_PAREN@[1429; 1430) "(" BIN_EXPR@[1430; 1436) PATH_EXPR@[1430; 1432) PATH@[1430; 1432) PATH_SEGMENT@[1430; 1432) NAME_REF@[1430; 1432) IDENT@[1430; 1432) "_x" WHITESPACE@[1432; 1433) " " EQ@[1433; 1434) "=" WHITESPACE@[1434; 1435) " " LITERAL@[1435; 1436) INT_NUMBER@[1435; 1436) "0" R_PAREN@[1436; 1437) ")" SEMI@[1437; 1438) ";" WHITESPACE@[1438; 1443) "\n " LET_STMT@[1443; 1474) LET_KW@[1443; 1446) "let" WHITESPACE@[1446; 1447) " " BIND_PAT@[1447; 1449) NAME@[1447; 1449) IDENT@[1447; 1449) "_a" WHITESPACE@[1449; 1450) " " EQ@[1450; 1451) "=" WHITESPACE@[1451; 1452) " " BIN_EXPR@[1452; 1473) PAREN_EXPR@[1452; 1461) L_PAREN@[1452; 1453) "(" BIN_EXPR@[1453; 1460) PATH_EXPR@[1453; 1455) PATH@[1453; 1455) PATH_SEGMENT@[1453; 1455) NAME_REF@[1453; 1455) IDENT@[1453; 1455) "_x" WHITESPACE@[1455; 1456) " " PLUSEQ@[1456; 1458) "+=" WHITESPACE@[1458; 1459) " " LITERAL@[1459; 1460) INT_NUMBER@[1459; 1460) "0" R_PAREN@[1460; 1461) ")" WHITESPACE@[1461; 1462) " " EQEQ@[1462; 1464) "==" WHITESPACE@[1464; 1465) " " PAREN_EXPR@[1465; 1473) L_PAREN@[1465; 1466) "(" BIN_EXPR@[1466; 1472) PATH_EXPR@[1466; 1468) PATH@[1466; 1468) PATH_SEGMENT@[1466; 1468) NAME_REF@[1466; 1468) IDENT@[1466; 1468) "_x" WHITESPACE@[1468; 1469) " " EQ@[1469; 1470) "=" WHITESPACE@[1470; 1471) " " LITERAL@[1471; 1472) INT_NUMBER@[1471; 1472) "0" R_PAREN@[1472; 1473) ")" SEMI@[1473; 1474) ";" WHITESPACE@[1474; 1479) "\n " LET_STMT@[1479; 1537) LET_KW@[1479; 1482) "let" WHITESPACE@[1482; 1483) " " BIND_PAT@[1483; 1485) NAME@[1483; 1485) IDENT@[1483; 1485) "_b" WHITESPACE@[1485; 1486) " " EQ@[1486; 1487) "=" WHITESPACE@[1487; 1488) " " BIN_EXPR@[1488; 1536) CALL_EXPR@[1488; 1510) PATH_EXPR@[1488; 1492) PATH@[1488; 1492) PATH_SEGMENT@[1488; 1492) NAME_REF@[1488; 1492) IDENT@[1488; 1492) "swap" ARG_LIST@[1492; 1510) L_PAREN@[1492; 1493) "(" REF_EXPR@[1493; 1500) AMP@[1493; 1494) "&" MUT_KW@[1494; 1497) "mut" WHITESPACE@[1497; 1498) " " PATH_EXPR@[1498; 1500) PATH@[1498; 1500) PATH_SEGMENT@[1498; 1500) NAME_REF@[1498; 1500) IDENT@[1498; 1500) "_y" COMMA@[1500; 1501) "," WHITESPACE@[1501; 1502) " " REF_EXPR@[1502; 1509) AMP@[1502; 1503) "&" MUT_KW@[1503; 1506) "mut" WHITESPACE@[1506; 1507) " " PATH_EXPR@[1507; 1509) PATH@[1507; 1509) PATH_SEGMENT@[1507; 1509) NAME_REF@[1507; 1509) IDENT@[1507; 1509) "_z" R_PAREN@[1509; 1510) ")" WHITESPACE@[1510; 1511) " " EQEQ@[1511; 1513) "==" WHITESPACE@[1513; 1514) " " CALL_EXPR@[1514; 1536) PATH_EXPR@[1514; 1518) PATH@[1514; 1518) PATH_SEGMENT@[1514; 1518) NAME_REF@[1514; 1518) IDENT@[1514; 1518) "swap" ARG_LIST@[1518; 1536) L_PAREN@[1518; 1519) "(" REF_EXPR@[1519; 1526) AMP@[1519; 1520) "&" MUT_KW@[1520; 1523) "mut" WHITESPACE@[1523; 1524) " " PATH_EXPR@[1524; 1526) PATH@[1524; 1526) PATH_SEGMENT@[1524; 1526) NAME_REF@[1524; 1526) IDENT@[1524; 1526) "_y" COMMA@[1526; 1527) "," WHITESPACE@[1527; 1528) " " REF_EXPR@[1528; 1535) AMP@[1528; 1529) "&" MUT_KW@[1529; 1532) "mut" WHITESPACE@[1532; 1533) " " PATH_EXPR@[1533; 1535) PATH@[1533; 1535) PATH_SEGMENT@[1533; 1535) NAME_REF@[1533; 1535) IDENT@[1533; 1535) "_z" R_PAREN@[1535; 1536) ")" SEMI@[1536; 1537) ";" WHITESPACE@[1537; 1538) "\n" R_CURLY@[1538; 1539) "}" WHITESPACE@[1539; 1541) "\n\n" FN_DEF@[1541; 1741) FN_KW@[1541; 1543) "fn" WHITESPACE@[1543; 1544) " " NAME@[1544; 1557) IDENT@[1544; 1557) "canttouchthis" PARAM_LIST@[1557; 1559) L_PAREN@[1557; 1558) "(" R_PAREN@[1558; 1559) ")" WHITESPACE@[1559; 1560) " " RET_TYPE@[1560; 1568) THIN_ARROW@[1560; 1562) "->" WHITESPACE@[1562; 1563) " " PATH_TYPE@[1563; 1568) PATH@[1563; 1568) PATH_SEGMENT@[1563; 1568) NAME_REF@[1563; 1568) IDENT@[1563; 1568) "usize" WHITESPACE@[1568; 1569) " " BLOCK@[1569; 1741) L_CURLY@[1569; 1570) "{" WHITESPACE@[1570; 1575) "\n " FN_DEF@[1575; 1598) FN_KW@[1575; 1577) "fn" WHITESPACE@[1577; 1578) " " NAME@[1578; 1579) IDENT@[1578; 1579) "p" PARAM_LIST@[1579; 1581) L_PAREN@[1579; 1580) "(" R_PAREN@[1580; 1581) ")" WHITESPACE@[1581; 1582) " " RET_TYPE@[1582; 1589) THIN_ARROW@[1582; 1584) "->" WHITESPACE@[1584; 1585) " " PATH_TYPE@[1585; 1589) PATH@[1585; 1589) PATH_SEGMENT@[1585; 1589) NAME_REF@[1585; 1589) IDENT@[1585; 1589) "bool" WHITESPACE@[1589; 1590) " " BLOCK@[1590; 1598) L_CURLY@[1590; 1591) "{" WHITESPACE@[1591; 1592) " " LITERAL@[1592; 1596) TRUE_KW@[1592; 1596) "true" WHITESPACE@[1596; 1597) " " R_CURLY@[1597; 1598) "}" WHITESPACE@[1598; 1603) "\n " LET_STMT@[1603; 1648) LET_KW@[1603; 1606) "let" WHITESPACE@[1606; 1607) " " BIND_PAT@[1607; 1609) NAME@[1607; 1609) IDENT@[1607; 1609) "_a" WHITESPACE@[1609; 1610) " " EQ@[1610; 1611) "=" WHITESPACE@[1611; 1612) " " PAREN_EXPR@[1612; 1647) L_PAREN@[1612; 1613) "(" BIN_EXPR@[1613; 1646) MACRO_CALL@[1613; 1628) PATH@[1613; 1619) PATH_SEGMENT@[1613; 1619) NAME_REF@[1613; 1619) IDENT@[1613; 1619) "assert" EXCL@[1619; 1620) "!" TOKEN_TREE@[1620; 1628) L_PAREN@[1620; 1621) "(" TOKEN_TREE@[1621; 1627) L_PAREN@[1621; 1622) "(" TRUE_KW@[1622; 1626) "true" R_PAREN@[1626; 1627) ")" R_PAREN@[1627; 1628) ")" WHITESPACE@[1628; 1629) " " EQEQ@[1629; 1631) "==" WHITESPACE@[1631; 1632) " " PAREN_EXPR@[1632; 1646) L_PAREN@[1632; 1633) "(" MACRO_CALL@[1633; 1645) PATH@[1633; 1639) PATH_SEGMENT@[1633; 1639) NAME_REF@[1633; 1639) IDENT@[1633; 1639) "assert" EXCL@[1639; 1640) "!" TOKEN_TREE@[1640; 1645) L_PAREN@[1640; 1641) "(" IDENT@[1641; 1642) "p" TOKEN_TREE@[1642; 1644) L_PAREN@[1642; 1643) "(" R_PAREN@[1643; 1644) ")" R_PAREN@[1644; 1645) ")" R_PAREN@[1645; 1646) ")" R_PAREN@[1646; 1647) ")" SEMI@[1647; 1648) ";" WHITESPACE@[1648; 1653) "\n " LET_STMT@[1653; 1685) LET_KW@[1653; 1656) "let" WHITESPACE@[1656; 1657) " " BIND_PAT@[1657; 1659) NAME@[1657; 1659) IDENT@[1657; 1659) "_c" WHITESPACE@[1659; 1660) " " EQ@[1660; 1661) "=" WHITESPACE@[1661; 1662) " " PAREN_EXPR@[1662; 1684) L_PAREN@[1662; 1663) "(" BIN_EXPR@[1663; 1683) MACRO_CALL@[1663; 1677) PATH@[1663; 1669) PATH_SEGMENT@[1663; 1669) NAME_REF@[1663; 1669) IDENT@[1663; 1669) "assert" EXCL@[1669; 1670) "!" TOKEN_TREE@[1670; 1677) L_PAREN@[1670; 1671) "(" TOKEN_TREE@[1671; 1676) L_PAREN@[1671; 1672) "(" IDENT@[1672; 1673) "p" TOKEN_TREE@[1673; 1675) L_PAREN@[1673; 1674) "(" R_PAREN@[1674; 1675) ")" R_PAREN@[1675; 1676) ")" R_PAREN@[1676; 1677) ")" WHITESPACE@[1677; 1678) " " EQEQ@[1678; 1680) "==" WHITESPACE@[1680; 1681) " " TUPLE_EXPR@[1681; 1683) L_PAREN@[1681; 1682) "(" R_PAREN@[1682; 1683) ")" R_PAREN@[1683; 1684) ")" SEMI@[1684; 1685) ";" WHITESPACE@[1685; 1690) "\n " LET_STMT@[1690; 1739) LET_KW@[1690; 1693) "let" WHITESPACE@[1693; 1694) " " BIND_PAT@[1694; 1696) NAME@[1694; 1696) IDENT@[1694; 1696) "_b" COLON@[1696; 1697) ":" WHITESPACE@[1697; 1698) " " PATH_TYPE@[1698; 1702) PATH@[1698; 1702) PATH_SEGMENT@[1698; 1702) NAME_REF@[1698; 1702) IDENT@[1698; 1702) "bool" WHITESPACE@[1702; 1703) " " EQ@[1703; 1704) "=" WHITESPACE@[1704; 1705) " " PAREN_EXPR@[1705; 1738) L_PAREN@[1705; 1706) "(" BIN_EXPR@[1706; 1737) MACRO_CALL@[1706; 1723) PATH@[1706; 1713) PATH_SEGMENT@[1706; 1713) NAME_REF@[1706; 1713) IDENT@[1706; 1713) "println" EXCL@[1713; 1714) "!" TOKEN_TREE@[1714; 1723) L_PAREN@[1714; 1715) "(" STRING@[1715; 1719) "\"{}\"" COMMA@[1719; 1720) "," WHITESPACE@[1720; 1721) " " INT_NUMBER@[1721; 1722) "0" R_PAREN@[1722; 1723) ")" WHITESPACE@[1723; 1724) " " EQEQ@[1724; 1726) "==" WHITESPACE@[1726; 1727) " " PAREN_EXPR@[1727; 1737) L_PAREN@[1727; 1728) "(" RETURN_EXPR@[1728; 1736) RETURN_KW@[1728; 1734) "return" WHITESPACE@[1734; 1735) " " LITERAL@[1735; 1736) INT_NUMBER@[1735; 1736) "0" R_PAREN@[1736; 1737) ")" R_PAREN@[1737; 1738) ")" SEMI@[1738; 1739) ";" WHITESPACE@[1739; 1740) "\n" R_CURLY@[1740; 1741) "}" WHITESPACE@[1741; 1743) "\n\n" FN_DEF@[1743; 1904) FN_KW@[1743; 1745) "fn" WHITESPACE@[1745; 1746) " " NAME@[1746; 1755) IDENT@[1746; 1755) "angrydome" PARAM_LIST@[1755; 1757) L_PAREN@[1755; 1756) "(" R_PAREN@[1756; 1757) ")" WHITESPACE@[1757; 1758) " " BLOCK@[1758; 1904) L_CURLY@[1758; 1759) "{" WHITESPACE@[1759; 1764) "\n " EXPR_STMT@[1764; 1785) LOOP_EXPR@[1764; 1785) LOOP_KW@[1764; 1768) "loop" WHITESPACE@[1768; 1769) " " BLOCK@[1769; 1785) L_CURLY@[1769; 1770) "{" WHITESPACE@[1770; 1771) " " IF_EXPR@[1771; 1783) IF_KW@[1771; 1773) "if" WHITESPACE@[1773; 1774) " " CONDITION@[1774; 1779) BREAK_EXPR@[1774; 1779) BREAK_KW@[1774; 1779) "break" WHITESPACE@[1779; 1780) " " BLOCK@[1780; 1783) L_CURLY@[1780; 1781) "{" WHITESPACE@[1781; 1782) " " R_CURLY@[1782; 1783) "}" WHITESPACE@[1783; 1784) " " R_CURLY@[1784; 1785) "}" WHITESPACE@[1785; 1790) "\n " LET_STMT@[1790; 1804) LET_KW@[1790; 1793) "let" WHITESPACE@[1793; 1794) " " BIND_PAT@[1794; 1799) MUT_KW@[1794; 1797) "mut" WHITESPACE@[1797; 1798) " " NAME@[1798; 1799) IDENT@[1798; 1799) "i" WHITESPACE@[1799; 1800) " " EQ@[1800; 1801) "=" WHITESPACE@[1801; 1802) " " LITERAL@[1802; 1803) INT_NUMBER@[1802; 1803) "0" SEMI@[1803; 1804) ";" WHITESPACE@[1804; 1809) "\n " LOOP_EXPR@[1809; 1902) LOOP_KW@[1809; 1813) "loop" WHITESPACE@[1813; 1814) " " BLOCK@[1814; 1902) L_CURLY@[1814; 1815) "{" WHITESPACE@[1815; 1816) " " EXPR_STMT@[1816; 1823) BIN_EXPR@[1816; 1822) PATH_EXPR@[1816; 1817) PATH@[1816; 1817) PATH_SEGMENT@[1816; 1817) NAME_REF@[1816; 1817) IDENT@[1816; 1817) "i" WHITESPACE@[1817; 1818) " " PLUSEQ@[1818; 1820) "+=" WHITESPACE@[1820; 1821) " " LITERAL@[1821; 1822) INT_NUMBER@[1821; 1822) "1" SEMI@[1822; 1823) ";" WHITESPACE@[1823; 1824) " " EXPR_STMT@[1824; 1887) IF_EXPR@[1824; 1887) IF_KW@[1824; 1826) "if" WHITESPACE@[1826; 1827) " " CONDITION@[1827; 1833) BIN_EXPR@[1827; 1833) PATH_EXPR@[1827; 1828) PATH@[1827; 1828) PATH_SEGMENT@[1827; 1828) NAME_REF@[1827; 1828) IDENT@[1827; 1828) "i" WHITESPACE@[1828; 1829) " " EQEQ@[1829; 1831) "==" WHITESPACE@[1831; 1832) " " LITERAL@[1832; 1833) INT_NUMBER@[1832; 1833) "1" WHITESPACE@[1833; 1834) " " BLOCK@[1834; 1887) L_CURLY@[1834; 1835) "{" WHITESPACE@[1835; 1836) " " MATCH_EXPR@[1836; 1885) MATCH_KW@[1836; 1841) "match" WHITESPACE@[1841; 1842) " " PAREN_EXPR@[1842; 1852) L_PAREN@[1842; 1843) "(" CONTINUE_EXPR@[1843; 1851) CONTINUE_KW@[1843; 1851) "continue" R_PAREN@[1851; 1852) ")" WHITESPACE@[1852; 1853) " " MATCH_ARM_LIST@[1853; 1885) L_CURLY@[1853; 1854) "{" WHITESPACE@[1854; 1855) " " MATCH_ARM@[1855; 1863) LITERAL_PAT@[1855; 1856) LITERAL@[1855; 1856) INT_NUMBER@[1855; 1856) "1" WHITESPACE@[1856; 1857) " " FAT_ARROW@[1857; 1859) "=>" WHITESPACE@[1859; 1860) " " BLOCK_EXPR@[1860; 1863) BLOCK@[1860; 1863) L_CURLY@[1860; 1861) "{" WHITESPACE@[1861; 1862) " " R_CURLY@[1862; 1863) "}" COMMA@[1863; 1864) "," WHITESPACE@[1864; 1865) " " MATCH_ARM@[1865; 1883) PLACEHOLDER_PAT@[1865; 1866) UNDERSCORE@[1865; 1866) "_" WHITESPACE@[1866; 1867) " " FAT_ARROW@[1867; 1869) "=>" WHITESPACE@[1869; 1870) " " MACRO_CALL@[1870; 1883) PATH@[1870; 1875) PATH_SEGMENT@[1870; 1875) NAME_REF@[1870; 1875) IDENT@[1870; 1875) "panic" EXCL@[1875; 1876) "!" TOKEN_TREE@[1876; 1883) L_PAREN@[1876; 1877) "(" STRING@[1877; 1882) "\"wat\"" R_PAREN@[1882; 1883) ")" WHITESPACE@[1883; 1884) " " R_CURLY@[1884; 1885) "}" WHITESPACE@[1885; 1886) " " R_CURLY@[1886; 1887) "}" WHITESPACE@[1887; 1894) "\n " EXPR_STMT@[1894; 1900) BREAK_EXPR@[1894; 1899) BREAK_KW@[1894; 1899) "break" SEMI@[1899; 1900) ";" WHITESPACE@[1900; 1901) " " R_CURLY@[1901; 1902) "}" WHITESPACE@[1902; 1903) "\n" R_CURLY@[1903; 1904) "}" WHITESPACE@[1904; 1906) "\n\n" FN_DEF@[1906; 1960) FN_KW@[1906; 1908) "fn" WHITESPACE@[1908; 1909) " " NAME@[1909; 1921) IDENT@[1909; 1921) "evil_lincoln" PARAM_LIST@[1921; 1923) L_PAREN@[1921; 1922) "(" R_PAREN@[1922; 1923) ")" WHITESPACE@[1923; 1924) " " BLOCK@[1924; 1960) L_CURLY@[1924; 1925) "{" WHITESPACE@[1925; 1926) " " LET_STMT@[1926; 1958) LET_KW@[1926; 1929) "let" WHITESPACE@[1929; 1930) " " BIND_PAT@[1930; 1935) NAME@[1930; 1935) IDENT@[1930; 1935) "_evil" WHITESPACE@[1935; 1936) " " EQ@[1936; 1937) "=" WHITESPACE@[1937; 1938) " " MACRO_CALL@[1938; 1957) PATH@[1938; 1945) PATH_SEGMENT@[1938; 1945) NAME_REF@[1938; 1945) IDENT@[1938; 1945) "println" EXCL@[1945; 1946) "!" TOKEN_TREE@[1946; 1957) L_PAREN@[1946; 1947) "(" STRING@[1947; 1956) "\"lincoln\"" R_PAREN@[1956; 1957) ")" SEMI@[1957; 1958) ";" WHITESPACE@[1958; 1959) " " R_CURLY@[1959; 1960) "}" WHITESPACE@[1960; 1962) "\n\n" FN_DEF@[1962; 2198) FN_KW@[1962; 1964) "fn" WHITESPACE@[1964; 1965) " " NAME@[1965; 1969) IDENT@[1965; 1969) "dots" PARAM_LIST@[1969; 1971) L_PAREN@[1969; 1970) "(" R_PAREN@[1970; 1971) ")" WHITESPACE@[1971; 1972) " " BLOCK@[1972; 2198) L_CURLY@[1972; 1973) "{" WHITESPACE@[1973; 1978) "\n " EXPR_STMT@[1978; 2196) MACRO_CALL@[1978; 2195) PATH@[1978; 1987) PATH_SEGMENT@[1978; 1987) NAME_REF@[1978; 1987) IDENT@[1978; 1987) "assert_eq" EXCL@[1987; 1988) "!" TOKEN_TREE@[1988; 2195) L_PAREN@[1988; 1989) "(" IDENT@[1989; 1995) "String" COLON@[1995; 1996) ":" COLON@[1996; 1997) ":" IDENT@[1997; 2001) "from" TOKEN_TREE@[2001; 2055) L_PAREN@[2001; 2002) "(" STRING@[2002; 2054) "\".................... ..." R_PAREN@[2054; 2055) ")" COMMA@[2055; 2056) "," WHITESPACE@[2056; 2072) "\n " IDENT@[2072; 2078) "format" EXCL@[2078; 2079) "!" TOKEN_TREE@[2079; 2194) L_PAREN@[2079; 2080) "(" STRING@[2080; 2086) "\"{:?}\"" COMMA@[2086; 2087) "," WHITESPACE@[2087; 2088) " " DOT@[2088; 2089) "." DOT@[2089; 2090) "." WHITESPACE@[2090; 2091) " " DOT@[2091; 2092) "." DOT@[2092; 2093) "." WHITESPACE@[2093; 2094) " " DOT@[2094; 2095) "." DOT@[2095; 2096) "." WHITESPACE@[2096; 2097) " " DOT@[2097; 2098) "." DOT@[2098; 2099) "." WHITESPACE@[2099; 2100) " " DOT@[2100; 2101) "." DOT@[2101; 2102) "." WHITESPACE@[2102; 2103) " " DOT@[2103; 2104) "." DOT@[2104; 2105) "." WHITESPACE@[2105; 2106) " " DOT@[2106; 2107) "." DOT@[2107; 2108) "." WHITESPACE@[2108; 2109) " " DOT@[2109; 2110) "." DOT@[2110; 2111) "." WHITESPACE@[2111; 2112) " " DOT@[2112; 2113) "." DOT@[2113; 2114) "." WHITESPACE@[2114; 2115) " " DOT@[2115; 2116) "." DOT@[2116; 2117) "." WHITESPACE@[2117; 2118) " " DOT@[2118; 2119) "." DOT@[2119; 2120) "." WHITESPACE@[2120; 2121) " " DOT@[2121; 2122) "." DOT@[2122; 2123) "." WHITESPACE@[2123; 2124) " " DOT@[2124; 2125) "." DOT@[2125; 2126) "." WHITESPACE@[2126; 2158) "\n ..." DOT@[2158; 2159) "." DOT@[2159; 2160) "." WHITESPACE@[2160; 2161) " " DOT@[2161; 2162) "." DOT@[2162; 2163) "." WHITESPACE@[2163; 2164) " " DOT@[2164; 2165) "." DOT@[2165; 2166) "." WHITESPACE@[2166; 2167) " " DOT@[2167; 2168) "." DOT@[2168; 2169) "." WHITESPACE@[2169; 2170) " " DOT@[2170; 2171) "." DOT@[2171; 2172) "." WHITESPACE@[2172; 2173) " " DOT@[2173; 2174) "." DOT@[2174; 2175) "." WHITESPACE@[2175; 2176) " " DOT@[2176; 2177) "." DOT@[2177; 2178) "." WHITESPACE@[2178; 2179) " " DOT@[2179; 2180) "." DOT@[2180; 2181) "." WHITESPACE@[2181; 2182) " " DOT@[2182; 2183) "." DOT@[2183; 2184) "." WHITESPACE@[2184; 2185) " " DOT@[2185; 2186) "." DOT@[2186; 2187) "." WHITESPACE@[2187; 2188) " " DOT@[2188; 2189) "." DOT@[2189; 2190) "." WHITESPACE@[2190; 2191) " " DOT@[2191; 2192) "." DOT@[2192; 2193) "." R_PAREN@[2193; 2194) ")" R_PAREN@[2194; 2195) ")" SEMI@[2195; 2196) ";" WHITESPACE@[2196; 2197) "\n" R_CURLY@[2197; 2198) "}" WHITESPACE@[2198; 2200) "\n\n" FN_DEF@[2200; 2693) FN_KW@[2200; 2202) "fn" WHITESPACE@[2202; 2203) " " NAME@[2203; 2205) IDENT@[2203; 2205) "u8" PARAM_LIST@[2205; 2213) L_PAREN@[2205; 2206) "(" PARAM@[2206; 2212) BIND_PAT@[2206; 2208) NAME@[2206; 2208) IDENT@[2206; 2208) "u8" COLON@[2208; 2209) ":" WHITESPACE@[2209; 2210) " " PATH_TYPE@[2210; 2212) PATH@[2210; 2212) PATH_SEGMENT@[2210; 2212) NAME_REF@[2210; 2212) IDENT@[2210; 2212) "u8" R_PAREN@[2212; 2213) ")" WHITESPACE@[2213; 2214) " " BLOCK@[2214; 2693) L_CURLY@[2214; 2215) "{" WHITESPACE@[2215; 2220) "\n " IF_EXPR@[2220; 2691) IF_KW@[2220; 2222) "if" WHITESPACE@[2222; 2223) " " CONDITION@[2223; 2232) BIN_EXPR@[2223; 2232) PATH_EXPR@[2223; 2225) PATH@[2223; 2225) PATH_SEGMENT@[2223; 2225) NAME_REF@[2223; 2225) IDENT@[2223; 2225) "u8" WHITESPACE@[2225; 2226) " " NEQ@[2226; 2228) "!=" WHITESPACE@[2228; 2229) " " LITERAL@[2229; 2232) INT_NUMBER@[2229; 2232) "0u8" WHITESPACE@[2232; 2233) " " BLOCK@[2233; 2691) L_CURLY@[2233; 2234) "{" WHITESPACE@[2234; 2243) "\n " EXPR_STMT@[2243; 2685) MACRO_CALL@[2243; 2684) PATH@[2243; 2252) PATH_SEGMENT@[2243; 2252) NAME_REF@[2243; 2252) IDENT@[2243; 2252) "assert_eq" EXCL@[2252; 2253) "!" TOKEN_TREE@[2253; 2684) L_PAREN@[2253; 2254) "(" INT_NUMBER@[2254; 2257) "8u8" COMMA@[2257; 2258) "," WHITESPACE@[2258; 2259) " " TOKEN_TREE@[2259; 2683) L_CURLY@[2259; 2260) "{" WHITESPACE@[2260; 2273) "\n " IDENT@[2273; 2284) "macro_rules" EXCL@[2284; 2285) "!" WHITESPACE@[2285; 2286) " " IDENT@[2286; 2288) "u8" WHITESPACE@[2288; 2289) " " TOKEN_TREE@[2289; 2567) L_CURLY@[2289; 2290) "{" WHITESPACE@[2290; 2307) "\n " TOKEN_TREE@[2307; 2311) L_PAREN@[2307; 2308) "(" IDENT@[2308; 2310) "u8" R_PAREN@[2310; 2311) ")" WHITESPACE@[2311; 2312) " " EQ@[2312; 2313) "=" R_ANGLE@[2313; 2314) ">" WHITESPACE@[2314; 2315) " " TOKEN_TREE@[2315; 2552) L_CURLY@[2315; 2316) "{" WHITESPACE@[2316; 2337) "\n " MOD_KW@[2337; 2340) "mod" WHITESPACE@[2340; 2341) " " IDENT@[2341; 2343) "u8" WHITESPACE@[2343; 2344) " " TOKEN_TREE@[2344; 2534) L_CURLY@[2344; 2345) "{" WHITESPACE@[2345; 2370) "\n ..." PUB_KW@[2370; 2373) "pub" WHITESPACE@[2373; 2374) " " FN_KW@[2374; 2376) "fn" WHITESPACE@[2376; 2377) " " IDENT@[2377; 2379) "u8" L_ANGLE@[2379; 2380) "<" LIFETIME@[2380; 2383) "\'u8" COLON@[2383; 2384) ":" WHITESPACE@[2384; 2385) " " LIFETIME@[2385; 2388) "\'u8" WHITESPACE@[2388; 2389) " " PLUS@[2389; 2390) "+" WHITESPACE@[2390; 2391) " " LIFETIME@[2391; 2394) "\'u8" R_ANGLE@[2394; 2395) ">" TOKEN_TREE@[2395; 2408) L_PAREN@[2395; 2396) "(" IDENT@[2396; 2398) "u8" COLON@[2398; 2399) ":" WHITESPACE@[2399; 2400) " " AMP@[2400; 2401) "&" LIFETIME@[2401; 2404) "\'u8" WHITESPACE@[2404; 2405) " " IDENT@[2405; 2407) "u8" R_PAREN@[2407; 2408) ")" WHITESPACE@[2408; 2409) " " MINUS@[2409; 2410) "-" R_ANGLE@[2410; 2411) ">" WHITESPACE@[2411; 2412) " " AMP@[2412; 2413) "&" LIFETIME@[2413; 2416) "\'u8" WHITESPACE@[2416; 2417) " " IDENT@[2417; 2419) "u8" WHITESPACE@[2419; 2420) " " TOKEN_TREE@[2420; 2512) L_CURLY@[2420; 2421) "{" WHITESPACE@[2421; 2450) "\n ..." STRING@[2450; 2454) "\"u8\"" SEMI@[2454; 2455) ";" WHITESPACE@[2455; 2484) "\n ..." IDENT@[2484; 2486) "u8" WHITESPACE@[2486; 2511) "\n ..." R_CURLY@[2511; 2512) "}" WHITESPACE@[2512; 2533) "\n " R_CURLY@[2533; 2534) "}" WHITESPACE@[2534; 2551) "\n " R_CURLY@[2551; 2552) "}" SEMI@[2552; 2553) ";" WHITESPACE@[2553; 2566) "\n " R_CURLY@[2566; 2567) "}" WHITESPACE@[2567; 2581) "\n\n " IDENT@[2581; 2583) "u8" EXCL@[2583; 2584) "!" TOKEN_TREE@[2584; 2588) L_PAREN@[2584; 2585) "(" IDENT@[2585; 2587) "u8" R_PAREN@[2587; 2588) ")" SEMI@[2588; 2589) ";" WHITESPACE@[2589; 2602) "\n " LET_KW@[2602; 2605) "let" WHITESPACE@[2605; 2606) " " AMP@[2606; 2607) "&" IDENT@[2607; 2609) "u8" COLON@[2609; 2610) ":" WHITESPACE@[2610; 2611) " " AMP@[2611; 2612) "&" IDENT@[2612; 2614) "u8" WHITESPACE@[2614; 2615) " " EQ@[2615; 2616) "=" WHITESPACE@[2616; 2617) " " IDENT@[2617; 2619) "u8" COLON@[2619; 2620) ":" COLON@[2620; 2621) ":" IDENT@[2621; 2623) "u8" TOKEN_TREE@[2623; 2629) L_PAREN@[2623; 2624) "(" AMP@[2624; 2625) "&" INT_NUMBER@[2625; 2628) "8u8" R_PAREN@[2628; 2629) ")" SEMI@[2629; 2630) ";" WHITESPACE@[2630; 2643) "\n " CRATE_KW@[2643; 2648) "crate" COLON@[2648; 2649) ":" COLON@[2649; 2650) ":" IDENT@[2650; 2652) "u8" TOKEN_TREE@[2652; 2657) L_PAREN@[2652; 2653) "(" INT_NUMBER@[2653; 2656) "0u8" R_PAREN@[2656; 2657) ")" SEMI@[2657; 2658) ";" WHITESPACE@[2658; 2671) "\n " IDENT@[2671; 2673) "u8" WHITESPACE@[2673; 2682) "\n " R_CURLY@[2682; 2683) "}" R_PAREN@[2683; 2684) ")" SEMI@[2684; 2685) ";" WHITESPACE@[2685; 2690) "\n " R_CURLY@[2690; 2691) "}" WHITESPACE@[2691; 2692) "\n" R_CURLY@[2692; 2693) "}" WHITESPACE@[2693; 2695) "\n\n" FN_DEF@[2695; 2832) FN_KW@[2695; 2697) "fn" WHITESPACE@[2697; 2698) " " NAME@[2698; 2703) IDENT@[2698; 2703) "fishy" PARAM_LIST@[2703; 2705) L_PAREN@[2703; 2704) "(" R_PAREN@[2704; 2705) ")" WHITESPACE@[2705; 2706) " " BLOCK@[2706; 2832) L_CURLY@[2706; 2707) "{" WHITESPACE@[2707; 2712) "\n " EXPR_STMT@[2712; 2830) MACRO_CALL@[2712; 2829) PATH@[2712; 2721) PATH_SEGMENT@[2712; 2721) NAME_REF@[2712; 2721) IDENT@[2712; 2721) "assert_eq" EXCL@[2721; 2722) "!" TOKEN_TREE@[2722; 2829) L_PAREN@[2722; 2723) "(" IDENT@[2723; 2729) "String" COLON@[2729; 2730) ":" COLON@[2730; 2731) ":" IDENT@[2731; 2735) "from" TOKEN_TREE@[2735; 2742) L_PAREN@[2735; 2736) "(" STRING@[2736; 2741) "\"><>\"" R_PAREN@[2741; 2742) ")" COMMA@[2742; 2743) "," WHITESPACE@[2743; 2759) "\n " IDENT@[2759; 2765) "String" COLON@[2765; 2766) ":" COLON@[2766; 2767) ":" L_ANGLE@[2767; 2768) "<" R_ANGLE@[2768; 2769) ">" COLON@[2769; 2770) ":" COLON@[2770; 2771) ":" IDENT@[2771; 2775) "from" COLON@[2775; 2776) ":" COLON@[2776; 2777) ":" L_ANGLE@[2777; 2778) "<" R_ANGLE@[2778; 2779) ">" TOKEN_TREE@[2779; 2786) L_PAREN@[2779; 2780) "(" STRING@[2780; 2785) "\"><>\"" R_PAREN@[2785; 2786) ")" DOT@[2786; 2787) "." IDENT@[2787; 2792) "chars" COLON@[2792; 2793) ":" COLON@[2793; 2794) ":" L_ANGLE@[2794; 2795) "<" R_ANGLE@[2795; 2796) ">" TOKEN_TREE@[2796; 2798) L_PAREN@[2796; 2797) "(" R_PAREN@[2797; 2798) ")" DOT@[2798; 2799) "." IDENT@[2799; 2802) "rev" COLON@[2802; 2803) ":" COLON@[2803; 2804) ":" L_ANGLE@[2804; 2805) "<" R_ANGLE@[2805; 2806) ">" TOKEN_TREE@[2806; 2808) L_PAREN@[2806; 2807) "(" R_PAREN@[2807; 2808) ")" DOT@[2808; 2809) "." IDENT@[2809; 2816) "collect" COLON@[2816; 2817) ":" COLON@[2817; 2818) ":" L_ANGLE@[2818; 2819) "<" IDENT@[2819; 2825) "String" R_ANGLE@[2825; 2826) ">" TOKEN_TREE@[2826; 2828) L_PAREN@[2826; 2827) "(" R_PAREN@[2827; 2828) ")" R_PAREN@[2828; 2829) ")" SEMI@[2829; 2830) ";" WHITESPACE@[2830; 2831) "\n" R_CURLY@[2831; 2832) "}" WHITESPACE@[2832; 2834) "\n\n" FN_DEF@[2834; 2906) FN_KW@[2834; 2836) "fn" WHITESPACE@[2836; 2837) " " NAME@[2837; 2842) IDENT@[2837; 2842) "union" PARAM_LIST@[2842; 2844) L_PAREN@[2842; 2843) "(" R_PAREN@[2843; 2844) ")" WHITESPACE@[2844; 2845) " " BLOCK@[2845; 2906) L_CURLY@[2845; 2846) "{" WHITESPACE@[2846; 2851) "\n " STRUCT_DEF@[2851; 2904) UNION_KW@[2851; 2856) "union" WHITESPACE@[2856; 2857) " " NAME@[2857; 2862) IDENT@[2857; 2862) "union" TYPE_PARAM_LIST@[2862; 2870) L_ANGLE@[2862; 2863) "<" LIFETIME_PARAM@[2863; 2869) LIFETIME@[2863; 2869) "\'union" R_ANGLE@[2869; 2870) ">" WHITESPACE@[2870; 2871) " " NAMED_FIELD_DEF_LIST@[2871; 2904) L_CURLY@[2871; 2872) "{" WHITESPACE@[2872; 2873) " " NAMED_FIELD_DEF@[2873; 2901) NAME@[2873; 2878) IDENT@[2873; 2878) "union" COLON@[2878; 2879) ":" WHITESPACE@[2879; 2880) " " REFERENCE_TYPE@[2880; 2901) AMP@[2880; 2881) "&" LIFETIME@[2881; 2887) "\'union" WHITESPACE@[2887; 2888) " " PATH_TYPE@[2888; 2901) PATH@[2888; 2901) PATH_SEGMENT@[2888; 2901) NAME_REF@[2888; 2893) IDENT@[2888; 2893) "union" TYPE_ARG_LIST@[2893; 2901) L_ANGLE@[2893; 2894) "<" LIFETIME_ARG@[2894; 2900) LIFETIME@[2894; 2900) "\'union" R_ANGLE@[2900; 2901) ">" COMMA@[2901; 2902) "," WHITESPACE@[2902; 2903) " " R_CURLY@[2903; 2904) "}" WHITESPACE@[2904; 2905) "\n" R_CURLY@[2905; 2906) "}" WHITESPACE@[2906; 2908) "\n\n" FN_DEF@[2908; 3042) FN_KW@[2908; 2910) "fn" WHITESPACE@[2910; 2911) " " NAME@[2911; 2929) IDENT@[2911; 2929) "special_characters" PARAM_LIST@[2929; 2931) L_PAREN@[2929; 2930) "(" R_PAREN@[2930; 2931) ")" WHITESPACE@[2931; 2932) " " BLOCK@[2932; 3042) L_CURLY@[2932; 2933) "{" WHITESPACE@[2933; 2938) "\n " LET_STMT@[2938; 3021) LET_KW@[2938; 2941) "let" WHITESPACE@[2941; 2942) " " BIND_PAT@[2942; 2945) NAME@[2942; 2945) IDENT@[2942; 2945) "val" WHITESPACE@[2945; 2946) " " EQ@[2946; 2947) "=" WHITESPACE@[2947; 2948) " " PREFIX_EXPR@[2948; 3013) EXCL@[2948; 2949) "!" PAREN_EXPR@[2949; 3013) L_PAREN@[2949; 2950) "(" BIN_EXPR@[2950; 3012) CALL_EXPR@[2950; 2995) PAREN_EXPR@[2950; 2971) L_PAREN@[2950; 2951) "(" LAMBDA_EXPR@[2951; 2970) PARAM_LIST@[2951; 2968) PIPE@[2951; 2952) "|" PARAM@[2952; 2962) TUPLE_PAT@[2952; 2956) L_PAREN@[2952; 2953) "(" DOTDOT@[2953; 2955) ".." R_PAREN@[2955; 2956) ")" COLON@[2956; 2957) ":" TUPLE_TYPE@[2957; 2962) L_PAREN@[2957; 2958) "(" PLACEHOLDER_TYPE@[2958; 2959) UNDERSCORE@[2958; 2959) "_" COMMA@[2959; 2960) "," PLACEHOLDER_TYPE@[2960; 2961) UNDERSCORE@[2960; 2961) "_" R_PAREN@[2961; 2962) ")" COMMA@[2962; 2963) "," PARAM@[2963; 2967) BIND_PAT@[2963; 2967) NAME@[2963; 2965) IDENT@[2963; 2965) "__" AT@[2965; 2966) "@" PLACEHOLDER_PAT@[2966; 2967) UNDERSCORE@[2966; 2967) "_" PIPE@[2967; 2968) "|" PATH_EXPR@[2968; 2970) PATH@[2968; 2970) PATH_SEGMENT@[2968; 2970) NAME_REF@[2968; 2970) IDENT@[2968; 2970) "__" R_PAREN@[2970; 2971) ")" ARG_LIST@[2971; 2995) L_PAREN@[2971; 2972) "(" TUPLE_EXPR@[2972; 2987) L_PAREN@[2972; 2973) "(" REF_EXPR@[2973; 2979) AMP@[2973; 2974) "&" PREFIX_EXPR@[2974; 2979) STAR@[2974; 2975) "*" LITERAL@[2975; 2979) STRING@[2975; 2979) "\"\\\\\"" COMMA@[2979; 2980) "," LITERAL@[2980; 2986) CHAR@[2980; 2986) "\'🤔\'" R_PAREN@[2986; 2987) ")" COMMENT@[2987; 2991) "/**/" COMMA@[2991; 2992) "," BLOCK_EXPR@[2992; 2994) BLOCK@[2992; 2994) L_CURLY@[2992; 2993) "{" R_CURLY@[2993; 2994) "}" R_PAREN@[2994; 2995) ")" EQEQ@[2995; 2997) "==" BLOCK_EXPR@[2997; 3012) BLOCK@[2997; 3012) L_CURLY@[2997; 2998) "{" EXPR_STMT@[2998; 3011) REF_EXPR@[2998; 3010) AMP@[2998; 2999) "&" INDEX_EXPR@[2999; 3010) ARRAY_EXPR@[2999; 3006) L_BRACK@[2999; 3000) "[" RANGE_EXPR@[3000; 3005) DOTDOTEQ@[3000; 3003) "..=" RANGE_EXPR@[3003; 3005) DOTDOT@[3003; 3005) ".." R_BRACK@[3005; 3006) "]" L_BRACK@[3006; 3007) "[" RANGE_EXPR@[3007; 3009) DOTDOT@[3007; 3009) ".." R_BRACK@[3009; 3010) "]" SEMI@[3010; 3011) ";" R_CURLY@[3011; 3012) "}" R_PAREN@[3012; 3013) ")" COMMENT@[3013; 3015) "//" WHITESPACE@[3015; 3020) "\n " SEMI@[3020; 3021) ";" WHITESPACE@[3021; 3026) "\n " EXPR_STMT@[3026; 3040) MACRO_CALL@[3026; 3039) PATH@[3026; 3032) PATH_SEGMENT@[3026; 3032) NAME_REF@[3026; 3032) IDENT@[3026; 3032) "assert" EXCL@[3032; 3033) "!" TOKEN_TREE@[3033; 3039) L_PAREN@[3033; 3034) "(" EXCL@[3034; 3035) "!" IDENT@[3035; 3038) "val" R_PAREN@[3038; 3039) ")" SEMI@[3039; 3040) ";" WHITESPACE@[3040; 3041) "\n" R_CURLY@[3041; 3042) "}" WHITESPACE@[3042; 3044) "\n\n" FN_DEF@[3044; 3514) FN_KW@[3044; 3046) "fn" WHITESPACE@[3046; 3047) " " NAME@[3047; 3057) IDENT@[3047; 3057) "punch_card" PARAM_LIST@[3057; 3059) L_PAREN@[3057; 3058) "(" R_PAREN@[3058; 3059) ")" WHITESPACE@[3059; 3060) " " RET_TYPE@[3060; 3083) THIN_ARROW@[3060; 3062) "->" WHITESPACE@[3062; 3063) " " IMPL_TRAIT_TYPE@[3063; 3083) IMPL_KW@[3063; 3067) "impl" WHITESPACE@[3067; 3068) " " TYPE_BOUND_LIST@[3068; 3083) TYPE_BOUND@[3068; 3083) PATH_TYPE@[3068; 3083) PATH@[3068; 3083) PATH@[3068; 3076) PATH@[3068; 3071) PATH_SEGMENT@[3068; 3071) NAME_REF@[3068; 3071) IDENT@[3068; 3071) "std" COLONCOLON@[3071; 3073) "::" PATH_SEGMENT@[3073; 3076) NAME_REF@[3073; 3076) IDENT@[3073; 3076) "fmt" COLONCOLON@[3076; 3078) "::" PATH_SEGMENT@[3078; 3083) NAME_REF@[3078; 3083) IDENT@[3078; 3083) "Debug" WHITESPACE@[3083; 3084) " " BLOCK@[3084; 3514) L_CURLY@[3084; 3085) "{" WHITESPACE@[3085; 3090) "\n " RANGE_EXPR@[3090; 3512) DOTDOTEQ@[3090; 3093) "..=" RANGE_EXPR@[3093; 3512) DOTDOTEQ@[3093; 3096) "..=" RANGE_EXPR@[3096; 3512) DOTDOT@[3096; 3098) ".." WHITESPACE@[3098; 3099) " " RANGE_EXPR@[3099; 3512) DOTDOT@[3099; 3101) ".." WHITESPACE@[3101; 3105) " " RANGE_EXPR@[3105; 3512) DOTDOT@[3105; 3107) ".." WHITESPACE@[3107; 3108) " " RANGE_EXPR@[3108; 3512) DOTDOT@[3108; 3110) ".." WHITESPACE@[3110; 3111) " " RANGE_EXPR@[3111; 3512) DOTDOT@[3111; 3113) ".." WHITESPACE@[3113; 3114) " " RANGE_EXPR@[3114; 3512) DOTDOT@[3114; 3116) ".." WHITESPACE@[3116; 3120) " " RANGE_EXPR@[3120; 3512) DOTDOT@[3120; 3122) ".." WHITESPACE@[3122; 3123) " " RANGE_EXPR@[3123; 3512) DOTDOT@[3123; 3125) ".." WHITESPACE@[3125; 3126) " " RANGE_EXPR@[3126; 3512) DOTDOT@[3126; 3128) ".." WHITESPACE@[3128; 3129) " " RANGE_EXPR@[3129; 3512) DOTDOT@[3129; 3131) ".." WHITESPACE@[3131; 3135) " " RANGE_EXPR@[3135; 3512) DOTDOT@[3135; 3137) ".." WHITESPACE@[3137; 3138) " " RANGE_EXPR@[3138; 3512) DOTDOTEQ@[3138; 3141) "..=" RANGE_EXPR@[3141; 3512) DOTDOT@[3141; 3143) ".." WHITESPACE@[3143; 3144) " " RANGE_EXPR@[3144; 3512) DOTDOT@[3144; 3146) ".." WHITESPACE@[3146; 3151) "\n " RANGE_EXPR@[3151; 3512) DOTDOTEQ@[3151; 3154) "..=" RANGE_EXPR@[3154; 3512) DOTDOT@[3154; 3156) ".." WHITESPACE@[3156; 3157) " " RANGE_EXPR@[3157; 3512) DOTDOTEQ@[3157; 3160) "..=" RANGE_EXPR@[3160; 3512) DOTDOT@[3160; 3162) ".." WHITESPACE@[3162; 3166) " " RANGE_EXPR@[3166; 3512) DOTDOT@[3166; 3168) ".." WHITESPACE@[3168; 3169) " " RANGE_EXPR@[3169; 3512) DOTDOT@[3169; 3171) ".." WHITESPACE@[3171; 3172) " " RANGE_EXPR@[3172; 3512) DOTDOT@[3172; 3174) ".." WHITESPACE@[3174; 3175) " " RANGE_EXPR@[3175; 3512) DOTDOT@[3175; 3177) ".." WHITESPACE@[3177; 3181) " " RANGE_EXPR@[3181; 3512) DOTDOT@[3181; 3183) ".." WHITESPACE@[3183; 3184) " " RANGE_EXPR@[3184; 3512) DOTDOT@[3184; 3186) ".." WHITESPACE@[3186; 3187) " " RANGE_EXPR@[3187; 3512) DOTDOT@[3187; 3189) ".." WHITESPACE@[3189; 3190) " " RANGE_EXPR@[3190; 3512) DOTDOT@[3190; 3192) ".." WHITESPACE@[3192; 3196) " " RANGE_EXPR@[3196; 3512) DOTDOTEQ@[3196; 3199) "..=" RANGE_EXPR@[3199; 3512) DOTDOTEQ@[3199; 3202) "..=" RANGE_EXPR@[3202; 3512) DOTDOTEQ@[3202; 3205) "..=" RANGE_EXPR@[3205; 3512) DOTDOT@[3205; 3207) ".." WHITESPACE@[3207; 3212) "\n " RANGE_EXPR@[3212; 3512) DOTDOTEQ@[3212; 3215) "..=" RANGE_EXPR@[3215; 3512) DOTDOT@[3215; 3217) ".." WHITESPACE@[3217; 3218) " " RANGE_EXPR@[3218; 3512) DOTDOTEQ@[3218; 3221) "..=" RANGE_EXPR@[3221; 3512) DOTDOT@[3221; 3223) ".." WHITESPACE@[3223; 3227) " " RANGE_EXPR@[3227; 3512) DOTDOTEQ@[3227; 3230) "..=" RANGE_EXPR@[3230; 3512) DOTDOT@[3230; 3232) ".." WHITESPACE@[3232; 3233) " " RANGE_EXPR@[3233; 3512) DOTDOTEQ@[3233; 3236) "..=" RANGE_EXPR@[3236; 3512) DOTDOT@[3236; 3238) ".." WHITESPACE@[3238; 3242) " " RANGE_EXPR@[3242; 3512) DOTDOT@[3242; 3244) ".." WHITESPACE@[3244; 3245) " " RANGE_EXPR@[3245; 3512) DOTDOTEQ@[3245; 3248) "..=" RANGE_EXPR@[3248; 3512) DOTDOTEQ@[3248; 3251) "..=" RANGE_EXPR@[3251; 3512) DOTDOT@[3251; 3253) ".." WHITESPACE@[3253; 3257) " " RANGE_EXPR@[3257; 3512) DOTDOT@[3257; 3259) ".." WHITESPACE@[3259; 3260) " " RANGE_EXPR@[3260; 3512) DOTDOTEQ@[3260; 3263) "..=" RANGE_EXPR@[3263; 3512) DOTDOT@[3263; 3265) ".." WHITESPACE@[3265; 3266) " " RANGE_EXPR@[3266; 3512) DOTDOT@[3266; 3268) ".." WHITESPACE@[3268; 3273) "\n " RANGE_EXPR@[3273; 3512) DOTDOTEQ@[3273; 3276) "..=" RANGE_EXPR@[3276; 3512) DOTDOTEQ@[3276; 3279) "..=" RANGE_EXPR@[3279; 3512) DOTDOT@[3279; 3281) ".." WHITESPACE@[3281; 3282) " " RANGE_EXPR@[3282; 3512) DOTDOT@[3282; 3284) ".." WHITESPACE@[3284; 3288) " " RANGE_EXPR@[3288; 3512) DOTDOTEQ@[3288; 3291) "..=" RANGE_EXPR@[3291; 3512) DOTDOT@[3291; 3293) ".." WHITESPACE@[3293; 3294) " " RANGE_EXPR@[3294; 3512) DOTDOTEQ@[3294; 3297) "..=" RANGE_EXPR@[3297; 3512) DOTDOT@[3297; 3299) ".." WHITESPACE@[3299; 3303) " " RANGE_EXPR@[3303; 3512) DOTDOTEQ@[3303; 3306) "..=" RANGE_EXPR@[3306; 3512) DOTDOT@[3306; 3308) ".." WHITESPACE@[3308; 3309) " " RANGE_EXPR@[3309; 3512) DOTDOT@[3309; 3311) ".." WHITESPACE@[3311; 3312) " " RANGE_EXPR@[3312; 3512) DOTDOT@[3312; 3314) ".." WHITESPACE@[3314; 3318) " " RANGE_EXPR@[3318; 3512) DOTDOT@[3318; 3320) ".." WHITESPACE@[3320; 3321) " " RANGE_EXPR@[3321; 3512) DOTDOTEQ@[3321; 3324) "..=" RANGE_EXPR@[3324; 3512) DOTDOT@[3324; 3326) ".." WHITESPACE@[3326; 3327) " " RANGE_EXPR@[3327; 3512) DOTDOT@[3327; 3329) ".." WHITESPACE@[3329; 3334) "\n " RANGE_EXPR@[3334; 3512) DOTDOTEQ@[3334; 3337) "..=" RANGE_EXPR@[3337; 3512) DOTDOT@[3337; 3339) ".." WHITESPACE@[3339; 3340) " " RANGE_EXPR@[3340; 3512) DOTDOTEQ@[3340; 3343) "..=" RANGE_EXPR@[3343; 3512) DOTDOT@[3343; 3345) ".." WHITESPACE@[3345; 3349) " " RANGE_EXPR@[3349; 3512) DOTDOTEQ@[3349; 3352) "..=" RANGE_EXPR@[3352; 3512) DOTDOT@[3352; 3354) ".." WHITESPACE@[3354; 3355) " " RANGE_EXPR@[3355; 3512) DOTDOTEQ@[3355; 3358) "..=" RANGE_EXPR@[3358; 3512) DOTDOT@[3358; 3360) ".." WHITESPACE@[3360; 3364) " " RANGE_EXPR@[3364; 3512) DOTDOT@[3364; 3366) ".." WHITESPACE@[3366; 3367) " " RANGE_EXPR@[3367; 3512) DOTDOTEQ@[3367; 3370) "..=" RANGE_EXPR@[3370; 3512) DOTDOT@[3370; 3372) ".." WHITESPACE@[3372; 3373) " " RANGE_EXPR@[3373; 3512) DOTDOT@[3373; 3375) ".." WHITESPACE@[3375; 3379) " " RANGE_EXPR@[3379; 3512) DOTDOT@[3379; 3381) ".." WHITESPACE@[3381; 3382) " " RANGE_EXPR@[3382; 3512) DOTDOTEQ@[3382; 3385) "..=" RANGE_EXPR@[3385; 3512) DOTDOT@[3385; 3387) ".." WHITESPACE@[3387; 3388) " " RANGE_EXPR@[3388; 3512) DOTDOT@[3388; 3390) ".." WHITESPACE@[3390; 3395) "\n " RANGE_EXPR@[3395; 3512) DOTDOTEQ@[3395; 3398) "..=" RANGE_EXPR@[3398; 3512) DOTDOT@[3398; 3400) ".." WHITESPACE@[3400; 3401) " " RANGE_EXPR@[3401; 3512) DOTDOTEQ@[3401; 3404) "..=" RANGE_EXPR@[3404; 3512) DOTDOT@[3404; 3406) ".." WHITESPACE@[3406; 3410) " " RANGE_EXPR@[3410; 3512) DOTDOTEQ@[3410; 3413) "..=" RANGE_EXPR@[3413; 3512) DOTDOT@[3413; 3415) ".." WHITESPACE@[3415; 3416) " " RANGE_EXPR@[3416; 3512) DOTDOTEQ@[3416; 3419) "..=" RANGE_EXPR@[3419; 3512) DOTDOT@[3419; 3421) ".." WHITESPACE@[3421; 3425) " " RANGE_EXPR@[3425; 3512) DOTDOT@[3425; 3427) ".." WHITESPACE@[3427; 3428) " " RANGE_EXPR@[3428; 3512) DOTDOT@[3428; 3430) ".." WHITESPACE@[3430; 3431) " " RANGE_EXPR@[3431; 3512) DOTDOTEQ@[3431; 3434) "..=" RANGE_EXPR@[3434; 3512) DOTDOT@[3434; 3436) ".." WHITESPACE@[3436; 3440) " " RANGE_EXPR@[3440; 3512) DOTDOT@[3440; 3442) ".." WHITESPACE@[3442; 3443) " " RANGE_EXPR@[3443; 3512) DOTDOTEQ@[3443; 3446) "..=" RANGE_EXPR@[3446; 3512) DOTDOT@[3446; 3448) ".." WHITESPACE@[3448; 3449) " " RANGE_EXPR@[3449; 3512) DOTDOT@[3449; 3451) ".." WHITESPACE@[3451; 3456) "\n " RANGE_EXPR@[3456; 3512) DOTDOTEQ@[3456; 3459) "..=" RANGE_EXPR@[3459; 3512) DOTDOT@[3459; 3461) ".." WHITESPACE@[3461; 3462) " " RANGE_EXPR@[3462; 3512) DOTDOTEQ@[3462; 3465) "..=" RANGE_EXPR@[3465; 3512) DOTDOT@[3465; 3467) ".." WHITESPACE@[3467; 3471) " " RANGE_EXPR@[3471; 3512) DOTDOT@[3471; 3473) ".." WHITESPACE@[3473; 3474) " " RANGE_EXPR@[3474; 3512) DOTDOTEQ@[3474; 3477) "..=" RANGE_EXPR@[3477; 3512) DOTDOTEQ@[3477; 3480) "..=" RANGE_EXPR@[3480; 3512) DOTDOT@[3480; 3482) ".." WHITESPACE@[3482; 3486) " " RANGE_EXPR@[3486; 3512) DOTDOTEQ@[3486; 3489) "..=" RANGE_EXPR@[3489; 3512) DOTDOTEQ@[3489; 3492) "..=" RANGE_EXPR@[3492; 3512) DOTDOT@[3492; 3494) ".." WHITESPACE@[3494; 3495) " " RANGE_EXPR@[3495; 3512) DOTDOT@[3495; 3497) ".." WHITESPACE@[3497; 3501) " " RANGE_EXPR@[3501; 3512) DOTDOT@[3501; 3503) ".." WHITESPACE@[3503; 3504) " " RANGE_EXPR@[3504; 3512) DOTDOTEQ@[3504; 3507) "..=" RANGE_EXPR@[3507; 3512) DOTDOT@[3507; 3509) ".." WHITESPACE@[3509; 3510) " " RANGE_EXPR@[3510; 3512) DOTDOT@[3510; 3512) ".." WHITESPACE@[3512; 3513) "\n" R_CURLY@[3513; 3514) "}" WHITESPACE@[3514; 3516) "\n\n" FN_DEF@[3516; 3552) FN_KW@[3516; 3518) "fn" WHITESPACE@[3518; 3519) " " NAME@[3519; 3525) IDENT@[3519; 3525) "ktulhu" PARAM_LIST@[3525; 3527) L_PAREN@[3525; 3526) "(" R_PAREN@[3526; 3527) ")" WHITESPACE@[3527; 3528) " " BLOCK@[3528; 3552) L_CURLY@[3528; 3529) "{" WHITESPACE@[3529; 3534) "\n " SEMI@[3534; 3535) ";" SEMI@[3535; 3536) ";" SEMI@[3536; 3537) ";" EXPR_STMT@[3537; 3540) TUPLE_EXPR@[3537; 3539) L_PAREN@[3537; 3538) "(" R_PAREN@[3538; 3539) ")" SEMI@[3539; 3540) ";" SEMI@[3540; 3541) ";" SEMI@[3541; 3542) ";" SEMI@[3542; 3543) ";" SEMI@[3543; 3544) ";" SEMI@[3544; 3545) ";" SEMI@[3545; 3546) ";" SEMI@[3546; 3547) ";" SEMI@[3547; 3548) ";" TUPLE_EXPR@[3548; 3550) L_PAREN@[3548; 3549) "(" R_PAREN@[3549; 3550) ")" WHITESPACE@[3550; 3551) "\n" R_CURLY@[3551; 3552) "}" WHITESPACE@[3552; 3554) "\n\n" FN_DEF@[3554; 3812) VISIBILITY@[3554; 3557) PUB_KW@[3554; 3557) "pub" WHITESPACE@[3557; 3558) " " FN_KW@[3558; 3560) "fn" WHITESPACE@[3560; 3561) " " NAME@[3561; 3565) IDENT@[3561; 3565) "main" PARAM_LIST@[3565; 3567) L_PAREN@[3565; 3566) "(" R_PAREN@[3566; 3567) ")" WHITESPACE@[3567; 3568) " " BLOCK@[3568; 3812) L_CURLY@[3568; 3569) "{" WHITESPACE@[3569; 3574) "\n " EXPR_STMT@[3574; 3584) CALL_EXPR@[3574; 3583) PATH_EXPR@[3574; 3581) PATH@[3574; 3581) PATH_SEGMENT@[3574; 3581) NAME_REF@[3574; 3581) IDENT@[3574; 3581) "strange" ARG_LIST@[3581; 3583) L_PAREN@[3581; 3582) "(" R_PAREN@[3582; 3583) ")" SEMI@[3583; 3584) ";" WHITESPACE@[3584; 3589) "\n " EXPR_STMT@[3589; 3597) CALL_EXPR@[3589; 3596) PATH_EXPR@[3589; 3594) PATH@[3589; 3594) PATH_SEGMENT@[3589; 3594) NAME_REF@[3589; 3594) IDENT@[3589; 3594) "funny" ARG_LIST@[3594; 3596) L_PAREN@[3594; 3595) "(" R_PAREN@[3595; 3596) ")" SEMI@[3596; 3597) ";" WHITESPACE@[3597; 3602) "\n " EXPR_STMT@[3602; 3609) CALL_EXPR@[3602; 3608) PATH_EXPR@[3602; 3606) PATH@[3602; 3606) PATH_SEGMENT@[3602; 3606) NAME_REF@[3602; 3606) IDENT@[3602; 3606) "what" ARG_LIST@[3606; 3608) L_PAREN@[3606; 3607) "(" R_PAREN@[3607; 3608) ")" SEMI@[3608; 3609) ";" WHITESPACE@[3609; 3614) "\n " EXPR_STMT@[3614; 3628) CALL_EXPR@[3614; 3627) PATH_EXPR@[3614; 3625) PATH@[3614; 3625) PATH_SEGMENT@[3614; 3625) NAME_REF@[3614; 3625) IDENT@[3614; 3625) "zombiejesus" ARG_LIST@[3625; 3627) L_PAREN@[3625; 3626) "(" R_PAREN@[3626; 3627) ")" SEMI@[3627; 3628) ";" WHITESPACE@[3628; 3633) "\n " EXPR_STMT@[3633; 3643) CALL_EXPR@[3633; 3642) PATH_EXPR@[3633; 3640) PATH@[3633; 3640) PATH_SEGMENT@[3633; 3640) NAME_REF@[3633; 3640) IDENT@[3633; 3640) "notsure" ARG_LIST@[3640; 3642) L_PAREN@[3640; 3641) "(" R_PAREN@[3641; 3642) ")" SEMI@[3642; 3643) ";" WHITESPACE@[3643; 3648) "\n " EXPR_STMT@[3648; 3664) CALL_EXPR@[3648; 3663) PATH_EXPR@[3648; 3661) PATH@[3648; 3661) PATH_SEGMENT@[3648; 3661) NAME_REF@[3648; 3661) IDENT@[3648; 3661) "canttouchthis" ARG_LIST@[3661; 3663) L_PAREN@[3661; 3662) "(" R_PAREN@[3662; 3663) ")" SEMI@[3663; 3664) ";" WHITESPACE@[3664; 3669) "\n " EXPR_STMT@[3669; 3681) CALL_EXPR@[3669; 3680) PATH_EXPR@[3669; 3678) PATH@[3669; 3678) PATH_SEGMENT@[3669; 3678) NAME_REF@[3669; 3678) IDENT@[3669; 3678) "angrydome" ARG_LIST@[3678; 3680) L_PAREN@[3678; 3679) "(" R_PAREN@[3679; 3680) ")" SEMI@[3680; 3681) ";" WHITESPACE@[3681; 3686) "\n " EXPR_STMT@[3686; 3701) CALL_EXPR@[3686; 3700) PATH_EXPR@[3686; 3698) PATH@[3686; 3698) PATH_SEGMENT@[3686; 3698) NAME_REF@[3686; 3698) IDENT@[3686; 3698) "evil_lincoln" ARG_LIST@[3698; 3700) L_PAREN@[3698; 3699) "(" R_PAREN@[3699; 3700) ")" SEMI@[3700; 3701) ";" WHITESPACE@[3701; 3706) "\n " EXPR_STMT@[3706; 3713) CALL_EXPR@[3706; 3712) PATH_EXPR@[3706; 3710) PATH@[3706; 3710) PATH_SEGMENT@[3706; 3710) NAME_REF@[3706; 3710) IDENT@[3706; 3710) "dots" ARG_LIST@[3710; 3712) L_PAREN@[3710; 3711) "(" R_PAREN@[3711; 3712) ")" SEMI@[3712; 3713) ";" WHITESPACE@[3713; 3718) "\n " EXPR_STMT@[3718; 3726) CALL_EXPR@[3718; 3725) PATH_EXPR@[3718; 3720) PATH@[3718; 3720) PATH_SEGMENT@[3718; 3720) NAME_REF@[3718; 3720) IDENT@[3718; 3720) "u8" ARG_LIST@[3720; 3725) L_PAREN@[3720; 3721) "(" LITERAL@[3721; 3724) INT_NUMBER@[3721; 3724) "8u8" R_PAREN@[3724; 3725) ")" SEMI@[3725; 3726) ";" WHITESPACE@[3726; 3731) "\n " EXPR_STMT@[3731; 3739) CALL_EXPR@[3731; 3738) PATH_EXPR@[3731; 3736) PATH@[3731; 3736) PATH_SEGMENT@[3731; 3736) NAME_REF@[3731; 3736) IDENT@[3731; 3736) "fishy" ARG_LIST@[3736; 3738) L_PAREN@[3736; 3737) "(" R_PAREN@[3737; 3738) ")" SEMI@[3738; 3739) ";" WHITESPACE@[3739; 3744) "\n " EXPR_STMT@[3744; 3752) CALL_EXPR@[3744; 3751) PATH_EXPR@[3744; 3749) PATH@[3744; 3749) PATH_SEGMENT@[3744; 3749) NAME_REF@[3744; 3749) IDENT@[3744; 3749) "union" ARG_LIST@[3749; 3751) L_PAREN@[3749; 3750) "(" R_PAREN@[3750; 3751) ")" SEMI@[3751; 3752) ";" WHITESPACE@[3752; 3757) "\n " EXPR_STMT@[3757; 3778) CALL_EXPR@[3757; 3777) PATH_EXPR@[3757; 3775) PATH@[3757; 3775) PATH_SEGMENT@[3757; 3775) NAME_REF@[3757; 3775) IDENT@[3757; 3775) "special_characters" ARG_LIST@[3775; 3777) L_PAREN@[3775; 3776) "(" R_PAREN@[3776; 3777) ")" SEMI@[3777; 3778) ";" WHITESPACE@[3778; 3783) "\n " EXPR_STMT@[3783; 3796) CALL_EXPR@[3783; 3795) PATH_EXPR@[3783; 3793) PATH@[3783; 3793) PATH_SEGMENT@[3783; 3793) NAME_REF@[3783; 3793) IDENT@[3783; 3793) "punch_card" ARG_LIST@[3793; 3795) L_PAREN@[3793; 3794) "(" R_PAREN@[3794; 3795) ")" SEMI@[3795; 3796) ";" WHITESPACE@[3796; 3801) "\n " EXPR_STMT@[3801; 3810) CALL_EXPR@[3801; 3809) PATH_EXPR@[3801; 3807) PATH@[3801; 3807) PATH_SEGMENT@[3801; 3807) NAME_REF@[3801; 3807) IDENT@[3801; 3807) "ktulhu" ARG_LIST@[3807; 3809) L_PAREN@[3807; 3808) "(" R_PAREN@[3808; 3809) ")" SEMI@[3809; 3810) ";" WHITESPACE@[3810; 3811) "\n" R_CURLY@[3811; 3812) "}" WHITESPACE@[3812; 3813) "\n"