/* Generated by Nim Compiler v1.9.0 */ #define NIM_INTBITS 32 #define NIM_EmulateOverflowChecks #include "nimbase.h" #undef LANGUAGE_C #undef MIPSEB #undef MIPSEL #undef PPC #undef R3000 #undef R4000 #undef i386 #undef linux #undef mips #undef near #undef far #undef powerpc #undef unix #define nimfr_(x, y) #define nimln_(x, y) typedef struct NimStrPayload NimStrPayload; typedef struct NimStringV2 NimStringV2; typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g; typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content tySequence__qwqHTkRvwhrRyENtudHQ7g_Content; struct NimStrPayload { NI cap; NIM_CHAR data[SEQ_DECL_SIZE]; }; struct NimStringV2 { NI len; NimStrPayload* p; }; struct tySequence__qwqHTkRvwhrRyENtudHQ7g { NI len; tySequence__qwqHTkRvwhrRyENtudHQ7g_Content* p; }; #ifndef tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP #define tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP #define tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE];}; #endif N_LIB_PRIVATE N_NIMCALL(NI, editDistance__stdZeditdistance_2)(NimStringV2 a, NimStringV2 b); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_403)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZunicode_1065)(NI32 a, NI32 b); N_LIB_PRIVATE N_NIMCALL(void, newSeq__pureZosproc_302)(tySequence__qwqHTkRvwhrRyENtudHQ7g* s, NI len); static N_INLINE(NI32, runeAt__pureZunicode_7222)(NimStringV2 s, NI i); N_LIB_PRIVATE N_NIMCALL(NI, size__pureZunicode_5855)(NI32 r); static N_INLINE(NIM_BOOL*, nimErrorFlag)(void); extern NIM_BOOL nimInErrorMode__system_3980; static N_INLINE(NI32, runeAt__pureZunicode_7222)(NimStringV2 s, NI i) { NI32 result; result = (NI32)0; { if (!((NU32)(((NU) (((NU8)(s.p->data[i]))))) <= (NU32)(((NU)127)))) goto LA3_; result = ((NI32) (((NU) (((NU8)(s.p->data[i])))))); } goto LA1_; LA3_: ; { if (!((NU)((NU32)(((NU) (((NU8)(s.p->data[i]))))) >> (NU32)(((NI)5))) == ((NU)6))) goto LA6_; { if (!(((NI) (i)) <= (NI)(s.len - ((NI)2)))) goto LA10_; result = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[i])))) & ((NU)31))) << (NU32)(((NI)6))) | (NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)1))])))) & ((NU)63))))); } goto LA8_; LA10_: ; { result = ((NI32)65533); } LA8_: ; } goto LA1_; LA6_: ; { if (!((NU)((NU32)(((NU) (((NU8)(s.p->data[i]))))) >> (NU32)(((NI)4))) == ((NU)14))) goto LA14_; { if (!(((NI) (i)) <= (NI)(s.len - ((NI)3)))) goto LA18_; result = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[i])))) & ((NU)15))) << (NU32)(((NI)12))) | (NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)2))])))) & ((NU)63))))); } goto LA16_; LA18_: ; { result = ((NI32)65533); } LA16_: ; } goto LA1_; LA14_: ; { if (!((NU)((NU32)(((NU) (((NU8)(s.p->data[i]))))) >> (NU32)(((NI)3))) == ((NU)30))) goto LA22_; { if (!(((NI) (i)) <= (NI)(s.len - ((NI)4)))) goto LA26_; result = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[i])))) & ((NU)7))) << (NU32)(((NI)18))) | (NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)3))])))) & ((NU)63))))); } goto LA24_; LA26_: ; { result = ((NI32)65533); } LA24_: ; } goto LA1_; LA22_: ; { if (!((NU)((NU32)(((NU) (((NU8)(s.p->data[i]))))) >> (NU32)(((NI)2))) == ((NU)62))) goto LA30_; { if (!(((NI) (i)) <= (NI)(s.len - ((NI)5)))) goto LA34_; result = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[i])))) & ((NU)3))) << (NU32)(((NI)24))) | (NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)4))])))) & ((NU)63))))); } goto LA32_; LA34_: ; { result = ((NI32)65533); } LA32_: ; } goto LA1_; LA30_: ; { if (!((NU)((NU32)(((NU) (((NU8)(s.p->data[i]))))) >> (NU32)(((NI)1))) == ((NU)126))) goto LA38_; { if (!(((NI) (i)) <= (NI)(s.len - ((NI)6)))) goto LA42_; result = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[i])))) & ((NU)1))) << (NU32)(((NI)30))) | (NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)4))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)5))])))) & ((NU)63))))); } goto LA40_; LA42_: ; { result = ((NI32)65533); } LA40_: ; } goto LA1_; LA38_: ; { result = ((NI32) (((NU) (((NU8)(s.p->data[i])))))); } LA1_: ; return result; } static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) { NIM_BOOL* result; result = (NIM_BOOL*)0; result = (&nimInErrorMode__system_3980); return result; } N_LIB_PRIVATE N_NIMCALL(NI, editDistance__stdZeditdistance_2)(NimStringV2 a, NimStringV2 b) { NI result; tySequence__qwqHTkRvwhrRyENtudHQ7g row; NI iStart; NI iNextA; NI iNextB; NI32 runeA; NI32 runeB; NI lenRunesA; NI lenRunesB; NI iEndA; NI iEndB; NI iCurrentA; NI iCurrentB; NI len1; NI len2; NI half; NI e; NI char2pI; NI char2pPrev; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; row.len = 0; row.p = NIM_NIL; { if (!(b.len < a.len)) goto LA4_; result = editDistance__stdZeditdistance_2(b, a); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; eqdestroy___pureZosproc_403((&row)); goto BeforeRet_; } LA4_: ; iStart = ((NI)0); iNextA = ((NI)0); iNextB = ((NI)0); runeA = (NI32)0; runeB = (NI32)0; lenRunesA = ((NI)0); lenRunesB = ((NI)0); { { while (1) { if (!(iStart < a.len)) goto LA8 ; iNextA = iStart; { if (!((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) <= (NU32)(((NU)127)))) goto LA11_; runeA = ((NI32) (((NU) (((NU8)(a.p->data[iNextA])))))); iNextA += ((NI)1); } goto LA9_; LA11_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)5))) == ((NU)6))) goto LA14_; { if (!(iNextA <= (NI)(a.len - ((NI)2)))) goto LA18_; runeA = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)31))) << (NU32)(((NI)6))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))))); iNextA += ((NI)2); } goto LA16_; LA18_: ; { runeA = ((NI32)65533); iNextA += ((NI)1); } LA16_: ; } goto LA9_; LA14_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)4))) == ((NU)14))) goto LA22_; { if (!(iNextA <= (NI)(a.len - ((NI)3)))) goto LA26_; runeA = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)15))) << (NU32)(((NI)12))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63))))); iNextA += ((NI)3); } goto LA24_; LA26_: ; { runeA = ((NI32)65533); iNextA += ((NI)1); } LA24_: ; } goto LA9_; LA22_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)3))) == ((NU)30))) goto LA30_; { if (!(iNextA <= (NI)(a.len - ((NI)4)))) goto LA34_; runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)7))) << (NU32)(((NI)18))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)3))])))) & ((NU)63))))); iNextA += ((NI)4); } goto LA32_; LA34_: ; { runeA = ((NI32)65533); iNextA += ((NI)1); } LA32_: ; } goto LA9_; LA30_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)2))) == ((NU)62))) goto LA38_; { if (!(iNextA <= (NI)(a.len - ((NI)5)))) goto LA42_; runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)3))) << (NU32)(((NI)24))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)4))])))) & ((NU)63))))); iNextA += ((NI)5); } goto LA40_; LA42_: ; { runeA = ((NI32)65533); iNextA += ((NI)1); } LA40_: ; } goto LA9_; LA38_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)1))) == ((NU)126))) goto LA46_; { if (!(iNextA <= (NI)(a.len - ((NI)6)))) goto LA50_; runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)1))) << (NU32)(((NI)30))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)4))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)5))])))) & ((NU)63))))); iNextA += ((NI)6); } goto LA48_; LA50_: ; { runeA = ((NI32)65533); iNextA += ((NI)1); } LA48_: ; } goto LA9_; LA46_: ; { runeA = ((NI32) (((NU) (((NU8)(a.p->data[iNextA])))))); iNextA += ((NI)1); } LA9_: ; iNextB = iStart; { if (!((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) <= (NU32)(((NU)127)))) goto LA56_; runeB = ((NI32) (((NU) (((NU8)(b.p->data[iNextB])))))); iNextB += ((NI)1); } goto LA54_; LA56_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) >> (NU32)(((NI)5))) == ((NU)6))) goto LA59_; { if (!(iNextB <= (NI)(b.len - ((NI)2)))) goto LA63_; runeB = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iNextB])))) & ((NU)31))) << (NU32)(((NI)6))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)1))])))) & ((NU)63))))); iNextB += ((NI)2); } goto LA61_; LA63_: ; { runeB = ((NI32)65533); iNextB += ((NI)1); } LA61_: ; } goto LA54_; LA59_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) >> (NU32)(((NI)4))) == ((NU)14))) goto LA67_; { if (!(iNextB <= (NI)(b.len - ((NI)3)))) goto LA71_; runeB = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iNextB])))) & ((NU)15))) << (NU32)(((NI)12))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)2))])))) & ((NU)63))))); iNextB += ((NI)3); } goto LA69_; LA71_: ; { runeB = ((NI32)65533); iNextB += ((NI)1); } LA69_: ; } goto LA54_; LA67_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) >> (NU32)(((NI)3))) == ((NU)30))) goto LA75_; { if (!(iNextB <= (NI)(b.len - ((NI)4)))) goto LA79_; runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iNextB])))) & ((NU)7))) << (NU32)(((NI)18))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)3))])))) & ((NU)63))))); iNextB += ((NI)4); } goto LA77_; LA79_: ; { runeB = ((NI32)65533); iNextB += ((NI)1); } LA77_: ; } goto LA54_; LA75_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) >> (NU32)(((NI)2))) == ((NU)62))) goto LA83_; { if (!(iNextB <= (NI)(b.len - ((NI)5)))) goto LA87_; runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iNextB])))) & ((NU)3))) << (NU32)(((NI)24))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)4))])))) & ((NU)63))))); iNextB += ((NI)5); } goto LA85_; LA87_: ; { runeB = ((NI32)65533); iNextB += ((NI)1); } LA85_: ; } goto LA54_; LA83_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) >> (NU32)(((NI)1))) == ((NU)126))) goto LA91_; { if (!(iNextB <= (NI)(b.len - ((NI)6)))) goto LA95_; runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iNextB])))) & ((NU)1))) << (NU32)(((NI)30))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)4))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)5))])))) & ((NU)63))))); iNextB += ((NI)6); } goto LA93_; LA95_: ; { runeB = ((NI32)65533); iNextB += ((NI)1); } LA93_: ; } goto LA54_; LA91_: ; { runeB = ((NI32) (((NU) (((NU8)(b.p->data[iNextB])))))); iNextB += ((NI)1); } LA54_: ; { NIM_BOOL T101_; T101_ = (NIM_BOOL)0; T101_ = eqeq___pureZunicode_1065(runeA, runeB); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!!(T101_)) goto LA102_; lenRunesA += ((NI)1); lenRunesB += ((NI)1); goto LA7; } LA102_: ; iStart = iNextA; } LA8: ; } LA7: ; } iEndA = iNextA; iEndB = iNextB; iCurrentA = iNextA; iCurrentB = iNextB; { NI addRunesA; NI addRunesB; addRunesA = ((NI)0); addRunesB = ((NI)0); { while (1) { NIM_BOOL T107_; T107_ = (NIM_BOOL)0; T107_ = (iCurrentA < a.len); if (!(T107_)) goto LA108_; T107_ = (iCurrentB < b.len); LA108_: ; if (!T107_) goto LA106 ; iNextA = iCurrentA; { if (!((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) <= (NU32)(((NU)127)))) goto LA111_; runeA = ((NI32) (((NU) (((NU8)(a.p->data[iNextA])))))); iNextA += ((NI)1); } goto LA109_; LA111_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)5))) == ((NU)6))) goto LA114_; { if (!(iNextA <= (NI)(a.len - ((NI)2)))) goto LA118_; runeA = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)31))) << (NU32)(((NI)6))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))))); iNextA += ((NI)2); } goto LA116_; LA118_: ; { runeA = ((NI32)65533); iNextA += ((NI)1); } LA116_: ; } goto LA109_; LA114_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)4))) == ((NU)14))) goto LA122_; { if (!(iNextA <= (NI)(a.len - ((NI)3)))) goto LA126_; runeA = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)15))) << (NU32)(((NI)12))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63))))); iNextA += ((NI)3); } goto LA124_; LA126_: ; { runeA = ((NI32)65533); iNextA += ((NI)1); } LA124_: ; } goto LA109_; LA122_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)3))) == ((NU)30))) goto LA130_; { if (!(iNextA <= (NI)(a.len - ((NI)4)))) goto LA134_; runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)7))) << (NU32)(((NI)18))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)3))])))) & ((NU)63))))); iNextA += ((NI)4); } goto LA132_; LA134_: ; { runeA = ((NI32)65533); iNextA += ((NI)1); } LA132_: ; } goto LA109_; LA130_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)2))) == ((NU)62))) goto LA138_; { if (!(iNextA <= (NI)(a.len - ((NI)5)))) goto LA142_; runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)3))) << (NU32)(((NI)24))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)4))])))) & ((NU)63))))); iNextA += ((NI)5); } goto LA140_; LA142_: ; { runeA = ((NI32)65533); iNextA += ((NI)1); } LA140_: ; } goto LA109_; LA138_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)1))) == ((NU)126))) goto LA146_; { if (!(iNextA <= (NI)(a.len - ((NI)6)))) goto LA150_; runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)1))) << (NU32)(((NI)30))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)4))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)5))])))) & ((NU)63))))); iNextA += ((NI)6); } goto LA148_; LA150_: ; { runeA = ((NI32)65533); iNextA += ((NI)1); } LA148_: ; } goto LA109_; LA146_: ; { runeA = ((NI32) (((NU) (((NU8)(a.p->data[iNextA])))))); iNextA += ((NI)1); } LA109_: ; iNextB = iCurrentB; { if (!((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) <= (NU32)(((NU)127)))) goto LA156_; runeB = ((NI32) (((NU) (((NU8)(b.p->data[iNextB])))))); iNextB += ((NI)1); } goto LA154_; LA156_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) >> (NU32)(((NI)5))) == ((NU)6))) goto LA159_; { if (!(iNextB <= (NI)(b.len - ((NI)2)))) goto LA163_; runeB = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iNextB])))) & ((NU)31))) << (NU32)(((NI)6))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)1))])))) & ((NU)63))))); iNextB += ((NI)2); } goto LA161_; LA163_: ; { runeB = ((NI32)65533); iNextB += ((NI)1); } LA161_: ; } goto LA154_; LA159_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) >> (NU32)(((NI)4))) == ((NU)14))) goto LA167_; { if (!(iNextB <= (NI)(b.len - ((NI)3)))) goto LA171_; runeB = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iNextB])))) & ((NU)15))) << (NU32)(((NI)12))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)2))])))) & ((NU)63))))); iNextB += ((NI)3); } goto LA169_; LA171_: ; { runeB = ((NI32)65533); iNextB += ((NI)1); } LA169_: ; } goto LA154_; LA167_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) >> (NU32)(((NI)3))) == ((NU)30))) goto LA175_; { if (!(iNextB <= (NI)(b.len - ((NI)4)))) goto LA179_; runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iNextB])))) & ((NU)7))) << (NU32)(((NI)18))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)3))])))) & ((NU)63))))); iNextB += ((NI)4); } goto LA177_; LA179_: ; { runeB = ((NI32)65533); iNextB += ((NI)1); } LA177_: ; } goto LA154_; LA175_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) >> (NU32)(((NI)2))) == ((NU)62))) goto LA183_; { if (!(iNextB <= (NI)(b.len - ((NI)5)))) goto LA187_; runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iNextB])))) & ((NU)3))) << (NU32)(((NI)24))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)4))])))) & ((NU)63))))); iNextB += ((NI)5); } goto LA185_; LA187_: ; { runeB = ((NI32)65533); iNextB += ((NI)1); } LA185_: ; } goto LA154_; LA183_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) >> (NU32)(((NI)1))) == ((NU)126))) goto LA191_; { if (!(iNextB <= (NI)(b.len - ((NI)6)))) goto LA195_; runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iNextB])))) & ((NU)1))) << (NU32)(((NI)30))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)4))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)5))])))) & ((NU)63))))); iNextB += ((NI)6); } goto LA193_; LA195_: ; { runeB = ((NI32)65533); iNextB += ((NI)1); } LA193_: ; } goto LA154_; LA191_: ; { runeB = ((NI32) (((NU) (((NU8)(b.p->data[iNextB])))))); iNextB += ((NI)1); } LA154_: ; addRunesA += ((NI)1); addRunesB += ((NI)1); { NIM_BOOL T201_; T201_ = (NIM_BOOL)0; T201_ = eqeq___pureZunicode_1065(runeA, runeB); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!!(T201_)) goto LA202_; iEndA = iNextA; iEndB = iNextB; lenRunesA += addRunesA; lenRunesB += addRunesB; addRunesA = ((NI)0); addRunesB = ((NI)0); } LA202_: ; iCurrentA = iNextA; iCurrentB = iNextB; } LA106: ; } { if (!(a.len <= iCurrentA)) goto LA206_; { if (!(iCurrentB < b.len)) goto LA210_; iEndA = iCurrentA; iEndB = iCurrentB; lenRunesA += addRunesA; lenRunesB += addRunesB; { while (1) { { if (!((NU32)(((NU) (((NU8)(b.p->data[iEndB]))))) <= (NU32)(((NU)127)))) goto LA216_; runeB = ((NI32) (((NU) (((NU8)(b.p->data[iEndB])))))); iEndB += ((NI)1); } goto LA214_; LA216_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iEndB]))))) >> (NU32)(((NI)5))) == ((NU)6))) goto LA219_; { if (!(iEndB <= (NI)(b.len - ((NI)2)))) goto LA223_; runeB = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iEndB])))) & ((NU)31))) << (NU32)(((NI)6))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)1))])))) & ((NU)63))))); iEndB += ((NI)2); } goto LA221_; LA223_: ; { runeB = ((NI32)65533); iEndB += ((NI)1); } LA221_: ; } goto LA214_; LA219_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iEndB]))))) >> (NU32)(((NI)4))) == ((NU)14))) goto LA227_; { if (!(iEndB <= (NI)(b.len - ((NI)3)))) goto LA231_; runeB = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iEndB])))) & ((NU)15))) << (NU32)(((NI)12))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)2))])))) & ((NU)63))))); iEndB += ((NI)3); } goto LA229_; LA231_: ; { runeB = ((NI32)65533); iEndB += ((NI)1); } LA229_: ; } goto LA214_; LA227_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iEndB]))))) >> (NU32)(((NI)3))) == ((NU)30))) goto LA235_; { if (!(iEndB <= (NI)(b.len - ((NI)4)))) goto LA239_; runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iEndB])))) & ((NU)7))) << (NU32)(((NI)18))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)3))])))) & ((NU)63))))); iEndB += ((NI)4); } goto LA237_; LA239_: ; { runeB = ((NI32)65533); iEndB += ((NI)1); } LA237_: ; } goto LA214_; LA235_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iEndB]))))) >> (NU32)(((NI)2))) == ((NU)62))) goto LA243_; { if (!(iEndB <= (NI)(b.len - ((NI)5)))) goto LA247_; runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iEndB])))) & ((NU)3))) << (NU32)(((NI)24))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)4))])))) & ((NU)63))))); iEndB += ((NI)5); } goto LA245_; LA247_: ; { runeB = ((NI32)65533); iEndB += ((NI)1); } LA245_: ; } goto LA214_; LA243_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iEndB]))))) >> (NU32)(((NI)1))) == ((NU)126))) goto LA251_; { if (!(iEndB <= (NI)(b.len - ((NI)6)))) goto LA255_; runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iEndB])))) & ((NU)1))) << (NU32)(((NI)30))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)4))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)5))])))) & ((NU)63))))); iEndB += ((NI)6); } goto LA253_; LA255_: ; { runeB = ((NI32)65533); iEndB += ((NI)1); } LA253_: ; } goto LA214_; LA251_: ; { runeB = ((NI32) (((NU) (((NU8)(b.p->data[iEndB])))))); iEndB += ((NI)1); } LA214_: ; lenRunesB += ((NI)1); { if (!(b.len <= iEndB)) goto LA261_; goto LA212; } LA261_: ; } } LA212: ; } LA210_: ; } goto LA204_; LA206_: ; { if (!(b.len <= iCurrentB)) goto LA264_; iEndA = iCurrentA; iEndB = iCurrentB; lenRunesA += addRunesA; lenRunesB += addRunesB; { while (1) { { if (!((NU32)(((NU) (((NU8)(a.p->data[iEndA]))))) <= (NU32)(((NU)127)))) goto LA270_; runeA = ((NI32) (((NU) (((NU8)(a.p->data[iEndA])))))); iEndA += ((NI)1); } goto LA268_; LA270_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iEndA]))))) >> (NU32)(((NI)5))) == ((NU)6))) goto LA273_; { if (!(iEndA <= (NI)(a.len - ((NI)2)))) goto LA277_; runeA = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iEndA])))) & ((NU)31))) << (NU32)(((NI)6))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)1))])))) & ((NU)63))))); iEndA += ((NI)2); } goto LA275_; LA277_: ; { runeA = ((NI32)65533); iEndA += ((NI)1); } LA275_: ; } goto LA268_; LA273_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iEndA]))))) >> (NU32)(((NI)4))) == ((NU)14))) goto LA281_; { if (!(iEndA <= (NI)(a.len - ((NI)3)))) goto LA285_; runeA = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iEndA])))) & ((NU)15))) << (NU32)(((NI)12))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)2))])))) & ((NU)63))))); iEndA += ((NI)3); } goto LA283_; LA285_: ; { runeA = ((NI32)65533); iEndA += ((NI)1); } LA283_: ; } goto LA268_; LA281_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iEndA]))))) >> (NU32)(((NI)3))) == ((NU)30))) goto LA289_; { if (!(iEndA <= (NI)(a.len - ((NI)4)))) goto LA293_; runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iEndA])))) & ((NU)7))) << (NU32)(((NI)18))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)3))])))) & ((NU)63))))); iEndA += ((NI)4); } goto LA291_; LA293_: ; { runeA = ((NI32)65533); iEndA += ((NI)1); } LA291_: ; } goto LA268_; LA289_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iEndA]))))) >> (NU32)(((NI)2))) == ((NU)62))) goto LA297_; { if (!(iEndA <= (NI)(a.len - ((NI)5)))) goto LA301_; runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iEndA])))) & ((NU)3))) << (NU32)(((NI)24))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)4))])))) & ((NU)63))))); iEndA += ((NI)5); } goto LA299_; LA301_: ; { runeA = ((NI32)65533); iEndA += ((NI)1); } LA299_: ; } goto LA268_; LA297_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iEndA]))))) >> (NU32)(((NI)1))) == ((NU)126))) goto LA305_; { if (!(iEndA <= (NI)(a.len - ((NI)6)))) goto LA309_; runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iEndA])))) & ((NU)1))) << (NU32)(((NI)30))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)4))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)5))])))) & ((NU)63))))); iEndA += ((NI)6); } goto LA307_; LA309_: ; { runeA = ((NI32)65533); iEndA += ((NI)1); } LA307_: ; } goto LA268_; LA305_: ; { runeA = ((NI32) (((NU) (((NU8)(a.p->data[iEndA])))))); iEndA += ((NI)1); } LA268_: ; lenRunesA += ((NI)1); { if (!(a.len <= iEndA)) goto LA315_; goto LA266; } LA315_: ; } } LA266: ; } goto LA204_; LA264_: ; LA204_: ; } { { if (!(lenRunesA == ((NI)0))) goto LA320_; result = lenRunesB; eqdestroy___pureZosproc_403((&row)); goto BeforeRet_; } LA320_: ; { if (!(lenRunesB == ((NI)0))) goto LA324_; result = lenRunesA; eqdestroy___pureZosproc_403((&row)); goto BeforeRet_; } LA324_: ; { NI iCurrentB_2; if (!(lenRunesA == ((NI)1))) goto LA328_; { if (!((NU32)(((NU) (((NU8)(a.p->data[iStart]))))) <= (NU32)(((NU)127)))) goto LA332_; runeA = ((NI32) (((NU) (((NU8)(a.p->data[iStart])))))); } goto LA330_; LA332_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iStart]))))) >> (NU32)(((NI)5))) == ((NU)6))) goto LA335_; { if (!(iStart <= (NI)(a.len - ((NI)2)))) goto LA339_; runeA = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iStart])))) & ((NU)31))) << (NU32)(((NI)6))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)1))])))) & ((NU)63))))); } goto LA337_; LA339_: ; { runeA = ((NI32)65533); } LA337_: ; } goto LA330_; LA335_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iStart]))))) >> (NU32)(((NI)4))) == ((NU)14))) goto LA343_; { if (!(iStart <= (NI)(a.len - ((NI)3)))) goto LA347_; runeA = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iStart])))) & ((NU)15))) << (NU32)(((NI)12))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)2))])))) & ((NU)63))))); } goto LA345_; LA347_: ; { runeA = ((NI32)65533); } LA345_: ; } goto LA330_; LA343_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iStart]))))) >> (NU32)(((NI)3))) == ((NU)30))) goto LA351_; { if (!(iStart <= (NI)(a.len - ((NI)4)))) goto LA355_; runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iStart])))) & ((NU)7))) << (NU32)(((NI)18))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)3))])))) & ((NU)63))))); } goto LA353_; LA355_: ; { runeA = ((NI32)65533); } LA353_: ; } goto LA330_; LA351_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iStart]))))) >> (NU32)(((NI)2))) == ((NU)62))) goto LA359_; { if (!(iStart <= (NI)(a.len - ((NI)5)))) goto LA363_; runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iStart])))) & ((NU)3))) << (NU32)(((NI)24))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)4))])))) & ((NU)63))))); } goto LA361_; LA363_: ; { runeA = ((NI32)65533); } LA361_: ; } goto LA330_; LA359_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iStart]))))) >> (NU32)(((NI)1))) == ((NU)126))) goto LA367_; { if (!(iStart <= (NI)(a.len - ((NI)6)))) goto LA371_; runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iStart])))) & ((NU)1))) << (NU32)(((NI)30))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)4))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)5))])))) & ((NU)63))))); } goto LA369_; LA371_: ; { runeA = ((NI32)65533); } LA369_: ; } goto LA330_; LA367_: ; { runeA = ((NI32) (((NU) (((NU8)(a.p->data[iStart])))))); } LA330_: ; iCurrentB_2 = iStart; { while (1) { if (!(iCurrentB_2 < iEndB)) goto LA376 ; { if (!((NU32)(((NU) (((NU8)(b.p->data[iCurrentB_2]))))) <= (NU32)(((NU)127)))) goto LA379_; runeB = ((NI32) (((NU) (((NU8)(b.p->data[iCurrentB_2])))))); iCurrentB_2 += ((NI)1); } goto LA377_; LA379_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iCurrentB_2]))))) >> (NU32)(((NI)5))) == ((NU)6))) goto LA382_; { if (!(iCurrentB_2 <= (NI)(b.len - ((NI)2)))) goto LA386_; runeB = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iCurrentB_2])))) & ((NU)31))) << (NU32)(((NI)6))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)1))])))) & ((NU)63))))); iCurrentB_2 += ((NI)2); } goto LA384_; LA386_: ; { runeB = ((NI32)65533); iCurrentB_2 += ((NI)1); } LA384_: ; } goto LA377_; LA382_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iCurrentB_2]))))) >> (NU32)(((NI)4))) == ((NU)14))) goto LA390_; { if (!(iCurrentB_2 <= (NI)(b.len - ((NI)3)))) goto LA394_; runeB = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iCurrentB_2])))) & ((NU)15))) << (NU32)(((NI)12))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)2))])))) & ((NU)63))))); iCurrentB_2 += ((NI)3); } goto LA392_; LA394_: ; { runeB = ((NI32)65533); iCurrentB_2 += ((NI)1); } LA392_: ; } goto LA377_; LA390_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iCurrentB_2]))))) >> (NU32)(((NI)3))) == ((NU)30))) goto LA398_; { if (!(iCurrentB_2 <= (NI)(b.len - ((NI)4)))) goto LA402_; runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iCurrentB_2])))) & ((NU)7))) << (NU32)(((NI)18))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)3))])))) & ((NU)63))))); iCurrentB_2 += ((NI)4); } goto LA400_; LA402_: ; { runeB = ((NI32)65533); iCurrentB_2 += ((NI)1); } LA400_: ; } goto LA377_; LA398_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iCurrentB_2]))))) >> (NU32)(((NI)2))) == ((NU)62))) goto LA406_; { if (!(iCurrentB_2 <= (NI)(b.len - ((NI)5)))) goto LA410_; runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iCurrentB_2])))) & ((NU)3))) << (NU32)(((NI)24))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)4))])))) & ((NU)63))))); iCurrentB_2 += ((NI)5); } goto LA408_; LA410_: ; { runeB = ((NI32)65533); iCurrentB_2 += ((NI)1); } LA408_: ; } goto LA377_; LA406_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iCurrentB_2]))))) >> (NU32)(((NI)1))) == ((NU)126))) goto LA414_; { if (!(iCurrentB_2 <= (NI)(b.len - ((NI)6)))) goto LA418_; runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iCurrentB_2])))) & ((NU)1))) << (NU32)(((NI)30))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)4))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)5))])))) & ((NU)63))))); iCurrentB_2 += ((NI)6); } goto LA416_; LA418_: ; { runeB = ((NI32)65533); iCurrentB_2 += ((NI)1); } LA416_: ; } goto LA377_; LA414_: ; { runeB = ((NI32) (((NU) (((NU8)(b.p->data[iCurrentB_2])))))); iCurrentB_2 += ((NI)1); } LA377_: ; { NIM_BOOL T424_; T424_ = (NIM_BOOL)0; T424_ = eqeq___pureZunicode_1065(runeA, runeB); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!T424_) goto LA425_; result = (NI)(lenRunesB - ((NI)1)); eqdestroy___pureZosproc_403((&row)); goto BeforeRet_; } LA425_: ; } LA376: ; } result = lenRunesB; eqdestroy___pureZosproc_403((&row)); goto BeforeRet_; } LA328_: ; } len1 = (NI)(lenRunesA + ((NI)1)); len2 = (NI)(lenRunesB + ((NI)1)); half = (NI)(lenRunesA / ((NI)2)); newSeq__pureZosproc_302((&row), ((NI) (len2))); e = (NI)((NI)(iStart + len2) - ((NI)1)); { NI i; NI colontmp_; NI res; i = (NI)0; colontmp_ = (NI)0; colontmp_ = (NI)((NI)(len2 - half) - ((NI)1)); res = ((NI)1); { while (1) { if (!(res <= colontmp_)) goto LA429 ; i = res; row.p->data[i] = i; res += ((NI)1); } LA429: ; } } row.p->data[((NI)0)] = (NI)((NI)(len1 - half) - ((NI)1)); iCurrentA = iStart; char2pI = ((NI)-1); char2pPrev = (NI)0; { NI i_2; NI colontmp__2; NI res_2; i_2 = (NI)0; colontmp__2 = (NI)0; colontmp__2 = (NI)(len1 - ((NI)1)); res_2 = ((NI)1); { while (1) { NI char2p; NI diff; NI x; NI p; if (!(res_2 <= colontmp__2)) goto LA432 ; i_2 = res_2; iNextA = iCurrentA; { if (!((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) <= (NU32)(((NU)127)))) goto LA435_; runeA = ((NI32) (((NU) (((NU8)(a.p->data[iNextA])))))); iNextA += ((NI)1); } goto LA433_; LA435_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)5))) == ((NU)6))) goto LA438_; { if (!(iNextA <= (NI)(a.len - ((NI)2)))) goto LA442_; runeA = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)31))) << (NU32)(((NI)6))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))))); iNextA += ((NI)2); } goto LA440_; LA442_: ; { runeA = ((NI32)65533); iNextA += ((NI)1); } LA440_: ; } goto LA433_; LA438_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)4))) == ((NU)14))) goto LA446_; { if (!(iNextA <= (NI)(a.len - ((NI)3)))) goto LA450_; runeA = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)15))) << (NU32)(((NI)12))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63))))); iNextA += ((NI)3); } goto LA448_; LA450_: ; { runeA = ((NI32)65533); iNextA += ((NI)1); } LA448_: ; } goto LA433_; LA446_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)3))) == ((NU)30))) goto LA454_; { if (!(iNextA <= (NI)(a.len - ((NI)4)))) goto LA458_; runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)7))) << (NU32)(((NI)18))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)3))])))) & ((NU)63))))); iNextA += ((NI)4); } goto LA456_; LA458_: ; { runeA = ((NI32)65533); iNextA += ((NI)1); } LA456_: ; } goto LA433_; LA454_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)2))) == ((NU)62))) goto LA462_; { if (!(iNextA <= (NI)(a.len - ((NI)5)))) goto LA466_; runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)3))) << (NU32)(((NI)24))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)4))])))) & ((NU)63))))); iNextA += ((NI)5); } goto LA464_; LA466_: ; { runeA = ((NI32)65533); iNextA += ((NI)1); } LA464_: ; } goto LA433_; LA462_: ; { if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)1))) == ((NU)126))) goto LA470_; { if (!(iNextA <= (NI)(a.len - ((NI)6)))) goto LA474_; runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)1))) << (NU32)(((NI)30))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)4))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)5))])))) & ((NU)63))))); iNextA += ((NI)6); } goto LA472_; LA474_: ; { runeA = ((NI32)65533); iNextA += ((NI)1); } LA472_: ; } goto LA433_; LA470_: ; { runeA = ((NI32) (((NU) (((NU8)(a.p->data[iNextA])))))); iNextA += ((NI)1); } LA433_: ; char2p = (NI)0; diff = (NI)0; x = (NI)0; p = (NI)0; { NI colontmpD_; NI colontmpD__2; NI offset; NI c3; NI T536_; NI T543_; if (!((NI)(len1 - half) <= i_2)) goto LA480_; colontmpD_ = (NI)0; colontmpD__2 = (NI)0; offset = (NI)((NI)(i_2 + half) - len1); { if (!(char2pI == i_2)) goto LA484_; { if (!((NU32)(((NU) (((NU8)(b.p->data[char2pPrev]))))) <= (NU32)(((NU)127)))) goto LA488_; runeB = ((NI32) (((NU) (((NU8)(b.p->data[char2pPrev])))))); char2pPrev += ((NI)1); } goto LA486_; LA488_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[char2pPrev]))))) >> (NU32)(((NI)5))) == ((NU)6))) goto LA491_; { if (!(char2pPrev <= (NI)(b.len - ((NI)2)))) goto LA495_; runeB = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[char2pPrev])))) & ((NU)31))) << (NU32)(((NI)6))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)1))])))) & ((NU)63))))); char2pPrev += ((NI)2); } goto LA493_; LA495_: ; { runeB = ((NI32)65533); char2pPrev += ((NI)1); } LA493_: ; } goto LA486_; LA491_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[char2pPrev]))))) >> (NU32)(((NI)4))) == ((NU)14))) goto LA499_; { if (!(char2pPrev <= (NI)(b.len - ((NI)3)))) goto LA503_; runeB = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[char2pPrev])))) & ((NU)15))) << (NU32)(((NI)12))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)2))])))) & ((NU)63))))); char2pPrev += ((NI)3); } goto LA501_; LA503_: ; { runeB = ((NI32)65533); char2pPrev += ((NI)1); } LA501_: ; } goto LA486_; LA499_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[char2pPrev]))))) >> (NU32)(((NI)3))) == ((NU)30))) goto LA507_; { if (!(char2pPrev <= (NI)(b.len - ((NI)4)))) goto LA511_; runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[char2pPrev])))) & ((NU)7))) << (NU32)(((NI)18))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)3))])))) & ((NU)63))))); char2pPrev += ((NI)4); } goto LA509_; LA511_: ; { runeB = ((NI32)65533); char2pPrev += ((NI)1); } LA509_: ; } goto LA486_; LA507_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[char2pPrev]))))) >> (NU32)(((NI)2))) == ((NU)62))) goto LA515_; { if (!(char2pPrev <= (NI)(b.len - ((NI)5)))) goto LA519_; runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[char2pPrev])))) & ((NU)3))) << (NU32)(((NI)24))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)4))])))) & ((NU)63))))); char2pPrev += ((NI)5); } goto LA517_; LA519_: ; { runeB = ((NI32)65533); char2pPrev += ((NI)1); } LA517_: ; } goto LA486_; LA515_: ; { if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[char2pPrev]))))) >> (NU32)(((NI)1))) == ((NU)126))) goto LA523_; { if (!(char2pPrev <= (NI)(b.len - ((NI)6)))) goto LA527_; runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[char2pPrev])))) & ((NU)1))) << (NU32)(((NI)30))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)4))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)5))])))) & ((NU)63))))); char2pPrev += ((NI)6); } goto LA525_; LA527_: ; { runeB = ((NI32)65533); char2pPrev += ((NI)1); } LA525_: ; } goto LA486_; LA523_: ; { runeB = ((NI32) (((NU) (((NU8)(b.p->data[char2pPrev])))))); char2pPrev += ((NI)1); } LA486_: ; char2p = char2pPrev; char2pI = (NI)(i_2 + ((NI)1)); } goto LA482_; LA484_: ; { char2p = iStart; { NI j; NI i_3; j = (NI)0; i_3 = ((NI)0); { while (1) { NI T535_; if (!(i_3 < offset)) goto LA534 ; j = i_3; runeB = runeAt__pureZunicode_7222(b, ((NI) (char2p))); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T535_ = (NI)0; T535_ = size__pureZunicode_5855(runeB); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; char2p += T535_; i_3 += ((NI)1); } LA534: ; } } char2pI = (NI)(i_2 + ((NI)1)); char2pPrev = char2p; } LA482_: ; p = offset; runeB = runeAt__pureZunicode_7222(b, ((NI) (char2p))); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T536_ = (NI)0; { NIM_BOOL T539_; T539_ = (NIM_BOOL)0; T539_ = eqeq___pureZunicode_1065(runeA, runeB); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!!(T539_)) goto LA540_; colontmpD_ = ((NI)1); T536_ = colontmpD_; } goto LA537_; LA540_: ; { colontmpD__2 = ((NI)0); T536_ = colontmpD__2; } LA537_: ; c3 = (NI)(row.p->data[p] + T536_); T543_ = (NI)0; T543_ = size__pureZunicode_5855(runeB); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; char2p += T543_; p += ((NI)1); x = (NI)(row.p->data[p] + ((NI)1)); diff = x; { if (!(c3 < x)) goto LA546_; x = c3; } LA546_: ; row.p->data[p] = x; p += ((NI)1); } goto LA478_; LA480_: ; { p = ((NI)1); char2p = iStart; diff = i_2; x = i_2; } LA478_: ; { if (!(i_2 <= (NI)(half + ((NI)1)))) goto LA551_; e = (NI)((NI)((NI)(len2 + i_2) - half) - ((NI)2)); } LA551_: ; { while (1) { NI colontmpD__3; NI colontmpD__4; NI c3_2; NI T555_; NI T562_; if (!(p <= e)) goto LA554 ; colontmpD__3 = (NI)0; colontmpD__4 = (NI)0; diff -= ((NI)1); runeB = runeAt__pureZunicode_7222(b, ((NI) (char2p))); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T555_ = (NI)0; { NIM_BOOL T558_; T558_ = (NIM_BOOL)0; T558_ = eqeq___pureZunicode_1065(runeA, runeB); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!!(T558_)) goto LA559_; colontmpD__3 = ((NI)1); T555_ = colontmpD__3; } goto LA556_; LA559_: ; { colontmpD__4 = ((NI)0); T555_ = colontmpD__4; } LA556_: ; c3_2 = (NI)(diff + T555_); T562_ = (NI)0; T562_ = size__pureZunicode_5855(runeB); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; char2p += T562_; x += ((NI)1); { if (!(c3_2 < x)) goto LA565_; x = c3_2; } LA565_: ; diff = (NI)(row.p->data[p] + ((NI)1)); { if (!(diff < x)) goto LA569_; x = diff; } LA569_: ; row.p->data[p] = x; p += ((NI)1); } LA554: ; } { NI colontmpD__5; NI colontmpD__6; NI c3_3; NI T575_; if (!(i_2 <= half)) goto LA573_; colontmpD__5 = (NI)0; colontmpD__6 = (NI)0; diff -= ((NI)1); runeB = runeAt__pureZunicode_7222(b, ((NI) (char2p))); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T575_ = (NI)0; { NIM_BOOL T578_; T578_ = (NIM_BOOL)0; T578_ = eqeq___pureZunicode_1065(runeA, runeB); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; if (!!(T578_)) goto LA579_; colontmpD__5 = ((NI)1); T575_ = colontmpD__5; } goto LA576_; LA579_: ; { colontmpD__6 = ((NI)0); T575_ = colontmpD__6; } LA576_: ; c3_3 = (NI)(diff + T575_); x += ((NI)1); { if (!(c3_3 < x)) goto LA584_; x = c3_3; } LA584_: ; row.p->data[p] = x; } LA573_: ; iCurrentA = iNextA; res_2 += ((NI)1); } LA432: ; } } result = row.p->data[e]; { LA1_:; } { eqdestroy___pureZosproc_403((&row)); } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; }