466 {
467 SequenceReader<T> sequenceReader = this;
469 bool flag = false;
471 {
472 int num = span.IndexOf(delimiter);
473 if (num != -1)
474 {
475 if (!(num == 0 && flag))
476 {
477 if (num > 0 && span[num - 1].
Equals(delimiterEscape))
478 {
479 int num2 = 0;
480 int num3 = num;
481 while (num3 > 0 && span[num3 - 1].
Equals(delimiterEscape))
482 {
483 num3--;
484 num2++;
485 }
486 if (num2 == num && flag)
487 {
488 num2++;
489 }
490 flag = false;
491 if (((uint)num2 & (true ? 1u : 0u)) != 0)
492 {
495 continue;
496 }
497 }
498 if (num > 0)
499 {
501 }
503 if (advancePastDelimiter)
504 {
506 }
507 return true;
508 }
509 flag = false;
512 }
513 else
514 {
515 int num4 = 0;
516 int num5 = span.Length;
517 while (num5 > 0 && span[num5 - 1].
Equals(delimiterEscape))
518 {
519 num5--;
520 num4++;
521 }
522 if (flag && num4 == span.Length)
523 {
524 num4++;
525 }
526 flag = num4 % 2 != 0;
529 }
530 }
531 this = sequenceReader;
532 sequence = default(ReadOnlySequence<T>);
533 return false;
534 }
ReadOnlySequence< T > Sequence
readonly ReadOnlySpan< T > UnreadSpan
ReadOnlySpan< T > CurrentSpan