úÎ SMe      !"#$%&'()*+,-./012345 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z[\]^_`abcdefefefghijklmno p           !"qrs#$%create a drawing surface &t !"#$%& !%"#$& ! !"#$%&'('('('(()*+u)*+)*+)**+,-.,-.,.-,.--./0123Yobtain the byte location of the last newline in a rope, or the end of the rope if at EOF 4[grab a lazy bytestring starting from some point. This bytestring does not cross path nodes Y if the index is to the start of a bytestring fragment, we update it to deal with any  intervening path fragments /01234/01243/001234 56789:;<56789:;<95876;:<58766789:;< =>?@A  In file included from baz.c:9  In file included from bar.c:4  foo.c:8:36: note + int main(int argc, char ** argv) { int; } & ^ BCDEF =>?@ABCDEF AB?@=>FDEC =>>?@@ABBCDEF GHIJKLMNO + int main(int argc, char ** argv) { int; } ( ^~~ P GHIJKLMNOP KLIJGHPMNO GHHIJJKLLMNOP QRSTU * int main(int argc char ** argv) { int; }  ^  , VWQRSTUVWQRSTUVWQRSTRSTUVW XYXYXYXY Z[\]^_`abcd Z[\]^_`abcd \]^Z[_`abcd Z[[\]^]^_`abcde  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdv !"#$%&'()*+,,-./0!1234567789:;<<=>?@ A B C D E F G H I J K L M M N O P Q R S T U V V W X Y Z [ [ \ ] ^ _ ` a bccdefghijklmnopqrstuvwxyz{|}~ trifecta-0.10Text.Trifecta.BytesText.Trifecta.PathText.Trifecta.DeltaText.Trifecta.RenderText.Trifecta.RenderedText.Trifecta.HunkText.Trifecta.StrandText.Trifecta.RopeText.Trifecta.ItText.Trifecta.CaretText.Trifecta.SpanText.Trifecta.FixitText.Trifecta.SliceText.Trifecta.SupplyText.Trifecta.Util Text.TrifectaHasBytesbytesHistoryCompleteContinuePathFileNamecomparablePathfilesnocPathpath appendPathHasDeltadeltaDeltaDirectedLinesTabColumnscolumnnextTabrewindnearSourcesource RenderablerenderRenderrDeltarLineLenrLinerDrawdrawifNearsurface.#Rendered:@HunkhunkStrand PathStrand HunkStrandRoperopestrands lastNewlinegrabItContFailDonePlineinputpeekItCareted:^HasCaretcaretCaret caretEffects drawCaretaddCaretcaretedSpanned:~HasSpanspanSpan spanEffectsdrawSpanaddSpanspannedFixit fixitSpanfixitReplacement drawFixitaddFixitfixitsliceslicedEOFSupplysupply supplyList supplyEOF supplyDefault supplyStrand supplyHunk supplyPathsupplyByteStringargminargmaxDHistory DComplete DContinueUninternedPathUPath MaybeFileNameNothingFileName JustFileNamepathIds pathCacheoutOfRangeEffects///growwindow hunkCache