990    {
  992        {
  993            return result.SetBadTimeSpanFailure();
  994        }
  997        bool flag3 = false;
  998        bool flag4 = false;
  999        bool flag5 = false;
 1000        TimeSpanToken timeSpanToken = new TimeSpanToken(0);
 1002        if (flag)
 1003        {
 1004            if (raw.FullHMSMatch(TimeSpanFormat.PositiveInvariantFormatLiterals))
 1005            {
 1006                flag3 = true;
 1007                flag4 = 
TryTimeToTicks(flag3, timeSpanToken, raw._numbers0, raw._numbers1, raw._numbers2, timeSpanToken, out result2);
 
 1008                flag5 = flag5 || !flag4;
 1009            }
 1010            if (!flag4 && raw.FullDHMMatch(TimeSpanFormat.PositiveInvariantFormatLiterals))
 1011            {
 1012                flag3 = true;
 1013                flag4 = 
TryTimeToTicks(flag3, raw._numbers0, raw._numbers1, raw._numbers2, timeSpanToken, timeSpanToken, out result2);
 
 1014                flag5 = flag5 || !flag4;
 1015            }
 1016            if (!flag4 && raw.PartialAppCompatMatch(TimeSpanFormat.PositiveInvariantFormatLiterals))
 1017            {
 1018                flag3 = true;
 1019                flag4 = 
TryTimeToTicks(flag3, timeSpanToken, raw._numbers0, raw._numbers1, timeSpanToken, raw._numbers2, out result2);
 
 1020                flag5 = flag5 || !flag4;
 1021            }
 1022            if (!flag4 && raw.FullHMSMatch(TimeSpanFormat.NegativeInvariantFormatLiterals))
 1023            {
 1024                flag3 = false;
 1025                flag4 = 
TryTimeToTicks(flag3, timeSpanToken, raw._numbers0, raw._numbers1, raw._numbers2, timeSpanToken, out result2);
 
 1026                flag5 = flag5 || !flag4;
 1027            }
 1028            if (!flag4 && raw.FullDHMMatch(TimeSpanFormat.NegativeInvariantFormatLiterals))
 1029            {
 1030                flag3 = false;
 1031                flag4 = 
TryTimeToTicks(flag3, raw._numbers0, raw._numbers1, raw._numbers2, timeSpanToken, timeSpanToken, out result2);
 
 1032                flag5 = flag5 || !flag4;
 1033            }
 1034            if (!flag4 && raw.PartialAppCompatMatch(TimeSpanFormat.NegativeInvariantFormatLiterals))
 1035            {
 1036                flag3 = false;
 1037                flag4 = 
TryTimeToTicks(flag3, timeSpanToken, raw._numbers0, raw._numbers1, timeSpanToken, raw._numbers2, out result2);
 
 1038                flag5 = flag5 || !flag4;
 1039            }
 1040        }
 1041        if (flag2)
 1042        {
 1043            if (!flag4 && raw.FullHMSMatch(raw.PositiveLocalized))
 1044            {
 1045                flag3 = true;
 1046                flag4 = 
TryTimeToTicks(flag3, timeSpanToken, raw._numbers0, raw._numbers1, raw._numbers2, timeSpanToken, out result2);
 
 1047                flag5 = flag5 || !flag4;
 1048            }
 1049            if (!flag4 && raw.FullDHMMatch(raw.PositiveLocalized))
 1050            {
 1051                flag3 = true;
 1052                flag4 = 
TryTimeToTicks(flag3, raw._numbers0, raw._numbers1, raw._numbers2, timeSpanToken, timeSpanToken, out result2);
 
 1053                flag5 = flag5 || !flag4;
 1054            }
 1055            if (!flag4 && raw.PartialAppCompatMatch(raw.PositiveLocalized))
 1056            {
 1057                flag3 = true;
 1058                flag4 = 
TryTimeToTicks(flag3, timeSpanToken, raw._numbers0, raw._numbers1, timeSpanToken, raw._numbers2, out result2);
 
 1059                flag5 = flag5 || !flag4;
 1060            }
 1061            if (!flag4 && raw.FullHMSMatch(raw.NegativeLocalized))
 1062            {
 1063                flag3 = false;
 1064                flag4 = 
TryTimeToTicks(flag3, timeSpanToken, raw._numbers0, raw._numbers1, raw._numbers2, timeSpanToken, out result2);
 
 1065                flag5 = flag5 || !flag4;
 1066            }
 1067            if (!flag4 && raw.FullDHMMatch(raw.NegativeLocalized))
 1068            {
 1069                flag3 = false;
 1070                flag4 = 
TryTimeToTicks(flag3, raw._numbers0, raw._numbers1, raw._numbers2, timeSpanToken, timeSpanToken, out result2);
 
 1071                flag5 = flag5 || !flag4;
 1072            }
 1073            if (!flag4 && raw.PartialAppCompatMatch(raw.NegativeLocalized))
 1074            {
 1075                flag3 = false;
 1076                flag4 = 
TryTimeToTicks(flag3, timeSpanToken, raw._numbers0, raw._numbers1, timeSpanToken, raw._numbers2, out result2);
 
 1077                flag5 = flag5 || !flag4;
 1078            }
 1079        }
 1080        if (flag4)
 1081        {
 1082            if (!flag3)
 1083            {
 1084                result2 = -result2;
 1085                if (result2 > 0)
 1086                {
 1087                    return result.SetOverflowFailure();
 1088                }
 1089            }
 1090            result.parsedTimeSpan = 
new TimeSpan(result2);
 
 1091            return true;
 1092        }
 1093        if (!flag5)
 1094        {
 1095            return result.SetBadTimeSpanFailure();
 1096        }
 1097        return result.SetOverflowFailure();
 1098    }
static bool TryTimeToTicks(bool positive, TimeSpanToken days, TimeSpanToken hours, TimeSpanToken minutes, TimeSpanToken seconds, TimeSpanToken fraction, out long result)