1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 64
3 #define NIM_EmulateOverflowChecks
4
5 #include "nimbase.h"
6 #include <string.h>
7 #include <stdio.h>
8 #undef LANGUAGE_C
9 #undef MIPSEB
10 #undef MIPSEL
11 #undef PPC
12 #undef R3000
13 #undef R4000
14 #undef i386
15 #undef linux
16 #undef mips
17 #undef near
18 #undef far
19 #undef powerpc
20 #undef unix
21 #define nimfr_(x, y)
22 #define nimln_(x, y)
23 typedef struct NimStringDesc NimStringDesc;
24 typedef struct TGenericSeq TGenericSeq;
25 typedef struct tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow;
26 struct TGenericSeq {
27 NI len;
28 NI reserved;
29 };
30 struct NimStringDesc {
31 TGenericSeq Sup;
32 NIM_CHAR data[SEQ_DECL_SIZE];
33 };
34 typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
35 typedef NU8 tyArray__YtcvxHNKV4YiecPE9ap1mcA[20];
36 typedef NU32 tyArray__xsE8WL1yT5DKfrMdYB89bYA[5];
37 typedef NU8 tyArray__w5VB8h5K8DB3oWrO5U2wqg[64];
38 struct tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow {
39 NI count;
40 tyArray__xsE8WL1yT5DKfrMdYB89bYA state;
41 tyArray__w5VB8h5K8DB3oWrO5U2wqg buf;
42 };
43 typedef NU32 tyArray__BhDmUZcWSpYFIy5J8Xi8mQ[80];
44 typedef NIM_CHAR tyArray__1NlJ8ipZDU6GZ9bDFAyQjfQ[8];
45 typedef NU8 tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg;
46 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, allCharsInSet__pureZstrutils_1341)(NimStringDesc* s, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw theSet);
47 static N_INLINE(void, nimZeroMem)(void* p, NI size);
48 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
49 N_LIB_PRIVATE N_NIMCALL(void, newSha1State__stdZsha49_10)(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow* Result);
50 N_LIB_PRIVATE N_NIMCALL(void, update__stdZsha49_777)(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow* ctx, NIM_CHAR* data, NI dataLen_0);
51 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
52 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
53 N_LIB_PRIVATE N_NIMCALL(void, transform__stdZsha49_27)(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow* ctx);
54 static N_INLINE(void, bigEndian32__pureZendians_65)(void* outp, void* inp);
55 static N_INLINE(void, swapEndian32__pureZendians_25)(void* outp, void* inp);
56 N_LIB_PRIVATE N_NIMCALL(void, finalize__stdZsha49_821)(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow* ctx, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result);
57 static N_INLINE(void, bigEndian64__pureZendians_62)(void* outp, void* inp);
58 static N_INLINE(void, swapEndian64__pureZendians_13)(void* outp, void* inp);
59 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toHex__pureZstrutils_1792)(NI x, NI len);
60 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
61 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
62 N_LIB_PRIVATE N_NIMCALL(FILE*, open__systemZio_432)(NimStringDesc* filename, tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg mode, NI bufSize);
63 N_NIMCALL(NimStringDesc*, mnewString)(NI len);
64 N_LIB_PRIVATE N_NIMCALL(NI, readChars__systemZio_156)(FILE* f, NIM_CHAR* a, NI aLen_0);
65 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
66 N_LIB_PRIVATE N_NIMCALL(void, close__systemZio_218)(FILE* f);
67 N_LIB_PRIVATE N_NIMCALL(NI, nsuParseHexInt)(NimStringDesc* s);
68 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
69 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
70 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___stdZsha49_924)(tyArray__YtcvxHNKV4YiecPE9ap1mcA x, tyArray__YtcvxHNKV4YiecPE9ap1mcA y);
71 static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__SpWH4VocI3fFoiOGE4MzWw_2 = {
72 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03,
73 0x7e, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00,
74 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
75 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
76 ;
77 STRING_LITERAL(TM__SpWH4VocI3fFoiOGE4MzWw_3, "\200", 1);
78 STRING_LITERAL(TM__SpWH4VocI3fFoiOGE4MzWw_4, "\000", 1);
N_NIMCALL(NIM_BOOL,isValidSha1Hash__stdZsha49_949)79 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isValidSha1Hash__stdZsha49_949)(NimStringDesc* s) {
80 NIM_BOOL result;
81 NIM_BOOL T1_;
82 result = (NIM_BOOL)0;
83 T1_ = (NIM_BOOL)0;
84 T1_ = ((s ? s->Sup.len : 0) == ((NI) 40));
85 if (!(T1_)) goto LA2_;
86 T1_ = allCharsInSet__pureZstrutils_1341(s, TM__SpWH4VocI3fFoiOGE4MzWw_2);
87 LA2_: ;
88 result = T1_;
89 return result;
90 }
N_INLINE(void,nimSetMem__systemZmemory_7)91 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
92 void* T1_;
93 T1_ = (void*)0;
94 T1_ = memset(a, v, ((size_t) (size)));
95 }
N_INLINE(void,nimZeroMem)96 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
97 nimSetMem__systemZmemory_7(p, ((int) 0), size);
98 }
N_NIMCALL(void,newSha1State__stdZsha49_10)99 N_LIB_PRIVATE N_NIMCALL(void, newSha1State__stdZsha49_10)(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow* Result) {
100 nimZeroMem((void*)Result, sizeof(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow));
101 (*Result).count = ((NI) 0);
102 (*Result).state[(((NI) 0))- 0] = ((NU32) 1732584193);
103 (*Result).state[(((NI) 1))- 0] = ((NU32) IL64(4023233417));
104 (*Result).state[(((NI) 2))- 0] = ((NU32) IL64(2562383102));
105 (*Result).state[(((NI) 3))- 0] = ((NU32) 271733878);
106 (*Result).state[(((NI) 4))- 0] = ((NU32) IL64(3285377520));
107 }
N_INLINE(void,nimCopyMem)108 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
109 void* T1_;
110 T1_ = (void*)0;
111 T1_ = memcpy(dest, source, ((size_t) (size)));
112 }
N_INLINE(void,copyMem__system_1727)113 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
114 nimCopyMem(dest, source, size);
115 }
N_INLINE(void,swapEndian32__pureZendians_25)116 static N_INLINE(void, swapEndian32__pureZendians_25)(void* outp, void* inp) {
117 NU32 tmpX60gensym1_;
118 tmpX60gensym1_ = (NU32)0;
119 copyMem__system_1727(((void*) ((&tmpX60gensym1_))), inp, ((NI) 4));
120 tmpX60gensym1_ = __builtin_bswap32(tmpX60gensym1_);
121 copyMem__system_1727(outp, ((void*) ((&tmpX60gensym1_))), ((NI) 4));
122 }
N_INLINE(void,bigEndian32__pureZendians_65)123 static N_INLINE(void, bigEndian32__pureZendians_65)(void* outp, void* inp) {
124 swapEndian32__pureZendians_25(outp, inp);
125 }
N_NIMCALL(void,transform__stdZsha49_27)126 N_LIB_PRIVATE N_NIMCALL(void, transform__stdZsha49_27)(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow* ctx) {
127 tyArray__BhDmUZcWSpYFIy5J8Xi8mQ w;
128 NU32 a;
129 NU32 b;
130 NU32 c;
131 NU32 d;
132 NU32 e;
133 NI t;
134 nimZeroMem((void*)w, sizeof(tyArray__BhDmUZcWSpYFIy5J8Xi8mQ));
135 a = (NU32)0;
136 b = (NU32)0;
137 c = (NU32)0;
138 d = (NU32)0;
139 e = (NU32)0;
140 t = ((NI) 0);
141 a = (*ctx).state[(((NI) 0))- 0];
142 b = (*ctx).state[(((NI) 1))- 0];
143 c = (*ctx).state[(((NI) 2))- 0];
144 d = (*ctx).state[(((NI) 3))- 0];
145 e = (*ctx).state[(((NI) 4))- 0];
146 {
147 while (1) {
148 if (!(t < ((NI) 15))) goto LA2;
149 bigEndian32__pureZendians_65(((void*) ((&w[((NI)(t + ((NI) 0)))- 0]))), ((void*) ((&(*ctx).buf[((NI)((NI)(t + ((NI) 0)) * ((NI) 4)))- 0]))));
150 e += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 27))) | (NU32)((NU64)(a) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 0)))- 0]))) + (NU32)((NU32)(d ^ (NU32)(b & (NU32)(c ^ d)))))) + (NU32)(((NU32) 1518500249)));
151 b = (NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 2))) | (NU32)((NU64)(b) << (NU64)(((NI) 30))));
152 bigEndian32__pureZendians_65(((void*) ((&w[((NI)(t + ((NI) 1)))- 0]))), ((void*) ((&(*ctx).buf[((NI)((NI)(t + ((NI) 1)) * ((NI) 4)))- 0]))));
153 d += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 27))) | (NU32)((NU64)(e) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 1)))- 0]))) + (NU32)((NU32)(c ^ (NU32)(a & (NU32)(b ^ c)))))) + (NU32)(((NU32) 1518500249)));
154 a = (NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 2))) | (NU32)((NU64)(a) << (NU64)(((NI) 30))));
155 bigEndian32__pureZendians_65(((void*) ((&w[((NI)(t + ((NI) 2)))- 0]))), ((void*) ((&(*ctx).buf[((NI)((NI)(t + ((NI) 2)) * ((NI) 4)))- 0]))));
156 c += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 27))) | (NU32)((NU64)(d) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 2)))- 0]))) + (NU32)((NU32)(b ^ (NU32)(e & (NU32)(a ^ b)))))) + (NU32)(((NU32) 1518500249)));
157 e = (NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 2))) | (NU32)((NU64)(e) << (NU64)(((NI) 30))));
158 bigEndian32__pureZendians_65(((void*) ((&w[((NI)(t + ((NI) 3)))- 0]))), ((void*) ((&(*ctx).buf[((NI)((NI)(t + ((NI) 3)) * ((NI) 4)))- 0]))));
159 b += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 27))) | (NU32)((NU64)(c) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 3)))- 0]))) + (NU32)((NU32)(a ^ (NU32)(d & (NU32)(e ^ a)))))) + (NU32)(((NU32) 1518500249)));
160 d = (NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 2))) | (NU32)((NU64)(d) << (NU64)(((NI) 30))));
161 bigEndian32__pureZendians_65(((void*) ((&w[((NI)(t + ((NI) 4)))- 0]))), ((void*) ((&(*ctx).buf[((NI)((NI)(t + ((NI) 4)) * ((NI) 4)))- 0]))));
162 a += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 27))) | (NU32)((NU64)(b) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 4)))- 0]))) + (NU32)((NU32)(e ^ (NU32)(c & (NU32)(d ^ e)))))) + (NU32)(((NU32) 1518500249)));
163 c = (NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 2))) | (NU32)((NU64)(c) << (NU64)(((NI) 30))));
164 t += ((NI) 5);
165 } LA2: ;
166 }
167 bigEndian32__pureZendians_65(((void*) ((&w[((NI)(t + ((NI) 0)))- 0]))), ((void*) ((&(*ctx).buf[((NI)((NI)(t + ((NI) 0)) * ((NI) 4)))- 0]))));
168 e += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 27))) | (NU32)((NU64)(a) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 0)))- 0]))) + (NU32)((NU32)(d ^ (NU32)(b & (NU32)(c ^ d)))))) + (NU32)(((NU32) 1518500249)));
169 b = (NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 2))) | (NU32)((NU64)(b) << (NU64)(((NI) 30))));
170 w[((NI)(t + ((NI) 1)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 1)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 1)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
171 d += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 27))) | (NU32)((NU64)(e) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 1)))- 0]))) + (NU32)((NU32)(c ^ (NU32)(a & (NU32)(b ^ c)))))) + (NU32)(((NU32) 1518500249)));
172 a = (NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 2))) | (NU32)((NU64)(a) << (NU64)(((NI) 30))));
173 w[((NI)(t + ((NI) 2)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 2)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 2)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
174 c += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 27))) | (NU32)((NU64)(d) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 2)))- 0]))) + (NU32)((NU32)(b ^ (NU32)(e & (NU32)(a ^ b)))))) + (NU32)(((NU32) 1518500249)));
175 e = (NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 2))) | (NU32)((NU64)(e) << (NU64)(((NI) 30))));
176 w[((NI)(t + ((NI) 3)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 3)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 3)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
177 b += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 27))) | (NU32)((NU64)(c) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 3)))- 0]))) + (NU32)((NU32)(a ^ (NU32)(d & (NU32)(e ^ a)))))) + (NU32)(((NU32) 1518500249)));
178 d = (NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 2))) | (NU32)((NU64)(d) << (NU64)(((NI) 30))));
179 w[((NI)(t + ((NI) 4)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 4)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 4)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
180 a += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 27))) | (NU32)((NU64)(b) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 4)))- 0]))) + (NU32)((NU32)(e ^ (NU32)(c & (NU32)(d ^ e)))))) + (NU32)(((NU32) 1518500249)));
181 c = (NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 2))) | (NU32)((NU64)(c) << (NU64)(((NI) 30))));
182 t = ((NI) 20);
183 {
184 while (1) {
185 if (!(t < ((NI) 40))) goto LA4;
186 w[((NI)(t + ((NI) 0)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 0)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 0)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
187 e += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 27))) | (NU32)((NU64)(a) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 0)))- 0]))) + (NU32)((NU32)((NU32)(b ^ c) ^ d)))) + (NU32)(((NU32) 1859775393)));
188 b = (NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 2))) | (NU32)((NU64)(b) << (NU64)(((NI) 30))));
189 w[((NI)(t + ((NI) 1)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 1)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 1)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
190 d += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 27))) | (NU32)((NU64)(e) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 1)))- 0]))) + (NU32)((NU32)((NU32)(a ^ b) ^ c)))) + (NU32)(((NU32) 1859775393)));
191 a = (NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 2))) | (NU32)((NU64)(a) << (NU64)(((NI) 30))));
192 w[((NI)(t + ((NI) 2)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 2)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 2)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
193 c += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 27))) | (NU32)((NU64)(d) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 2)))- 0]))) + (NU32)((NU32)((NU32)(e ^ a) ^ b)))) + (NU32)(((NU32) 1859775393)));
194 e = (NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 2))) | (NU32)((NU64)(e) << (NU64)(((NI) 30))));
195 w[((NI)(t + ((NI) 3)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 3)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 3)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
196 b += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 27))) | (NU32)((NU64)(c) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 3)))- 0]))) + (NU32)((NU32)((NU32)(d ^ e) ^ a)))) + (NU32)(((NU32) 1859775393)));
197 d = (NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 2))) | (NU32)((NU64)(d) << (NU64)(((NI) 30))));
198 w[((NI)(t + ((NI) 4)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 4)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 4)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
199 a += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 27))) | (NU32)((NU64)(b) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 4)))- 0]))) + (NU32)((NU32)((NU32)(c ^ d) ^ e)))) + (NU32)(((NU32) 1859775393)));
200 c = (NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 2))) | (NU32)((NU64)(c) << (NU64)(((NI) 30))));
201 t += ((NI) 5);
202 } LA4: ;
203 }
204 {
205 while (1) {
206 if (!(t < ((NI) 60))) goto LA6;
207 w[((NI)(t + ((NI) 0)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 0)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 0)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
208 e += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 27))) | (NU32)((NU64)(a) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 0)))- 0]))) + (NU32)((NU32)((NU32)(b & c) | (NU32)(d & (NU32)(b | c)))))) + (NU32)(((NU32) IL64(2400959708))));
209 b = (NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 2))) | (NU32)((NU64)(b) << (NU64)(((NI) 30))));
210 w[((NI)(t + ((NI) 1)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 1)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 1)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
211 d += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 27))) | (NU32)((NU64)(e) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 1)))- 0]))) + (NU32)((NU32)((NU32)(a & b) | (NU32)(c & (NU32)(a | b)))))) + (NU32)(((NU32) IL64(2400959708))));
212 a = (NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 2))) | (NU32)((NU64)(a) << (NU64)(((NI) 30))));
213 w[((NI)(t + ((NI) 2)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 2)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 2)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
214 c += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 27))) | (NU32)((NU64)(d) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 2)))- 0]))) + (NU32)((NU32)((NU32)(e & a) | (NU32)(b & (NU32)(e | a)))))) + (NU32)(((NU32) IL64(2400959708))));
215 e = (NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 2))) | (NU32)((NU64)(e) << (NU64)(((NI) 30))));
216 w[((NI)(t + ((NI) 3)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 3)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 3)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
217 b += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 27))) | (NU32)((NU64)(c) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 3)))- 0]))) + (NU32)((NU32)((NU32)(d & e) | (NU32)(a & (NU32)(d | e)))))) + (NU32)(((NU32) IL64(2400959708))));
218 d = (NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 2))) | (NU32)((NU64)(d) << (NU64)(((NI) 30))));
219 w[((NI)(t + ((NI) 4)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 4)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 4)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
220 a += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 27))) | (NU32)((NU64)(b) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 4)))- 0]))) + (NU32)((NU32)((NU32)(c & d) | (NU32)(e & (NU32)(c | d)))))) + (NU32)(((NU32) IL64(2400959708))));
221 c = (NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 2))) | (NU32)((NU64)(c) << (NU64)(((NI) 30))));
222 t += ((NI) 5);
223 } LA6: ;
224 }
225 {
226 while (1) {
227 if (!(t < ((NI) 80))) goto LA8;
228 w[((NI)(t + ((NI) 0)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 0)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 0)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
229 e += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 27))) | (NU32)((NU64)(a) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 0)))- 0]))) + (NU32)((NU32)((NU32)(b ^ c) ^ d)))) + (NU32)(((NU32) IL64(3395469782))));
230 b = (NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 2))) | (NU32)((NU64)(b) << (NU64)(((NI) 30))));
231 w[((NI)(t + ((NI) 1)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 1)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 1)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
232 d += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 27))) | (NU32)((NU64)(e) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 1)))- 0]))) + (NU32)((NU32)((NU32)(a ^ b) ^ c)))) + (NU32)(((NU32) IL64(3395469782))));
233 a = (NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 2))) | (NU32)((NU64)(a) << (NU64)(((NI) 30))));
234 w[((NI)(t + ((NI) 2)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 2)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 2)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
235 c += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 27))) | (NU32)((NU64)(d) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 2)))- 0]))) + (NU32)((NU32)((NU32)(e ^ a) ^ b)))) + (NU32)(((NU32) IL64(3395469782))));
236 e = (NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 2))) | (NU32)((NU64)(e) << (NU64)(((NI) 30))));
237 w[((NI)(t + ((NI) 3)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 3)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 3)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
238 b += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 27))) | (NU32)((NU64)(c) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 3)))- 0]))) + (NU32)((NU32)((NU32)(d ^ e) ^ a)))) + (NU32)(((NU32) IL64(3395469782))));
239 d = (NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 2))) | (NU32)((NU64)(d) << (NU64)(((NI) 30))));
240 w[((NI)(t + ((NI) 4)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 4)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 4)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
241 a += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 27))) | (NU32)((NU64)(b) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 4)))- 0]))) + (NU32)((NU32)((NU32)(c ^ d) ^ e)))) + (NU32)(((NU32) IL64(3395469782))));
242 c = (NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 2))) | (NU32)((NU64)(c) << (NU64)(((NI) 30))));
243 t += ((NI) 5);
244 } LA8: ;
245 }
246 (*ctx).state[(((NI) 0))- 0] += a;
247 (*ctx).state[(((NI) 1))- 0] += b;
248 (*ctx).state[(((NI) 2))- 0] += c;
249 (*ctx).state[(((NI) 3))- 0] += d;
250 (*ctx).state[(((NI) 4))- 0] += e;
251 }
N_NIMCALL(void,update__stdZsha49_777)252 N_LIB_PRIVATE N_NIMCALL(void, update__stdZsha49_777)(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow* ctx, NIM_CHAR* data, NI dataLen_0) {
253 NI i;
254 NI j;
255 NI len;
256 i = (NI)((*ctx).count % ((NI) 64));
257 j = ((NI) 0);
258 len = dataLen_0;
259 {
260 if (!((NI)(((NI) 64) - i) < len)) goto LA3_;
261 copyMem__system_1727(((void*) ((&(*ctx).buf[(i)- 0]))), ((void*) ((&data[j]))), ((NI) ((NI)(((NI) 64) - i))));
262 len -= (NI)(((NI) 64) - i);
263 j += (NI)(((NI) 64) - i);
264 transform__stdZsha49_27(ctx);
265 i = ((NI) 0);
266 }
267 LA3_: ;
268 {
269 while (1) {
270 if (!(((NI) 64) <= len)) goto LA6;
271 copyMem__system_1727(((void*) ((&(*ctx).buf[(((NI) 0))- 0]))), ((void*) ((&data[j]))), ((NI) 64));
272 len -= ((NI) 64);
273 j += ((NI) 64);
274 transform__stdZsha49_27(ctx);
275 } LA6: ;
276 }
277 {
278 while (1) {
279 if (!(((NI) 0) < len)) goto LA8;
280 len -= ((NI) 1);
281 (*ctx).buf[(i)- 0] = ((NU8) (((NU8)(data[j]))));
282 i += ((NI) 1);
283 j += ((NI) 1);
284 {
285 if (!(i == ((NI) 64))) goto LA11_;
286 transform__stdZsha49_27(ctx);
287 i = ((NI) 0);
288 }
289 LA11_: ;
290 } LA8: ;
291 }
292 (*ctx).count += dataLen_0;
293 }
N_INLINE(void,swapEndian64__pureZendians_13)294 static N_INLINE(void, swapEndian64__pureZendians_13)(void* outp, void* inp) {
295 NU64 tmpX60gensym0_;
296 tmpX60gensym0_ = (NU64)0;
297 copyMem__system_1727(((void*) ((&tmpX60gensym0_))), inp, ((NI) 8));
298 tmpX60gensym0_ = __builtin_bswap64(tmpX60gensym0_);
299 copyMem__system_1727(outp, ((void*) ((&tmpX60gensym0_))), ((NI) 8));
300 }
N_INLINE(void,bigEndian64__pureZendians_62)301 static N_INLINE(void, bigEndian64__pureZendians_62)(void* outp, void* inp) {
302 swapEndian64__pureZendians_13(outp, inp);
303 }
N_NIMCALL(void,finalize__stdZsha49_821)304 N_LIB_PRIVATE N_NIMCALL(void, finalize__stdZsha49_821)(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow* ctx, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result) {
305 NU64 cnt;
306 tyArray__1NlJ8ipZDU6GZ9bDFAyQjfQ tmp;
307 nimZeroMem((void*)Result, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
308 cnt = ((NU64) ((NI)((*ctx).count * ((NI) 8))));
309 update__stdZsha49_777(ctx, ((NimStringDesc*) &TM__SpWH4VocI3fFoiOGE4MzWw_3)->data, (((NimStringDesc*) &TM__SpWH4VocI3fFoiOGE4MzWw_3) ? ((NimStringDesc*) &TM__SpWH4VocI3fFoiOGE4MzWw_3)->Sup.len : 0));
310 {
311 while (1) {
312 if (!!(((NI)((*ctx).count % ((NI) 64)) == ((NI) 56)))) goto LA2;
313 update__stdZsha49_777(ctx, ((NimStringDesc*) &TM__SpWH4VocI3fFoiOGE4MzWw_4)->data, (((NimStringDesc*) &TM__SpWH4VocI3fFoiOGE4MzWw_4) ? ((NimStringDesc*) &TM__SpWH4VocI3fFoiOGE4MzWw_4)->Sup.len : 0));
314 } LA2: ;
315 }
316 nimZeroMem((void*)tmp, sizeof(tyArray__1NlJ8ipZDU6GZ9bDFAyQjfQ));
317 bigEndian64__pureZendians_62(((void*) ((&tmp[(((NI) 0))- 0]))), ((void*) ((&cnt))));
318 update__stdZsha49_777(ctx, tmp, 8);
319 {
320 NI i;
321 NI i_2;
322 i = (NI)0;
323 i_2 = ((NI) 0);
324 {
325 while (1) {
326 if (!(i_2 < ((NI) 5))) goto LA5;
327 i = i_2;
328 bigEndian32__pureZendians_65(((void*) ((&(*ctx).state[(i)- 0]))), ((void*) ((&(*ctx).state[(i)- 0]))));
329 i_2 += ((NI) 1);
330 } LA5: ;
331 }
332 }
333 copyMem__system_1727(((void*) ((&Result[(((NI) 0))- 0]))), ((void*) ((&(*ctx).state[(((NI) 0))- 0]))), ((NI) 20));
334 }
N_NIMCALL(void,secureHash__stdZsha49_840)335 N_LIB_PRIVATE N_NIMCALL(void, secureHash__stdZsha49_840)(NIM_CHAR* str, NI strLen_0, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result) {
336 tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow state;
337 nimZeroMem((void*)(&state), sizeof(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow));
338 newSha1State__stdZsha49_10((&state));
339 update__stdZsha49_777((&state), str, strLen_0);
340 finalize__stdZsha49_821((&state), Result);
341 }
N_INLINE(void,appendString)342 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
343 {
344 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
345 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
346 (*dest).Sup.len += (*src).Sup.len;
347 }
348 LA3_: ;
349 }
N_NIMCALL(NimStringDesc *,dollar___stdZsha49_879)350 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___stdZsha49_879)(tyArray__YtcvxHNKV4YiecPE9ap1mcA self) {
351 NimStringDesc* result;
352 result = NIM_NIL;
353 result = ((NimStringDesc*) NIM_NIL);
354 {
355 NU8 v;
356 tyArray__YtcvxHNKV4YiecPE9ap1mcA colontmp_;
357 NI i;
358 v = (NU8)0;
359 nimZeroMem((void*)colontmp_, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
360 nimCopyMem((void*)colontmp_, (NIM_CONST void*)self, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
361 i = ((NI) 0);
362 {
363 while (1) {
364 NimStringDesc* T4_;
365 v = colontmp_[(i)- 0];
366 T4_ = NIM_NIL;
367 T4_ = toHex__pureZstrutils_1792(((NI) (v)), ((NI) 2));
368 result = resizeString(result, (T4_ ? T4_->Sup.len : 0) + 0);
369 appendString(result, T4_);
370 {
371 if (!(((NI) 19) <= ((NI) (i)))) goto LA7_;
372 goto LA2;
373 }
374 LA7_: ;
375 i += ((NI) 1);
376 }
377 } LA2: ;
378 }
379 return result;
380 }
N_NIMCALL(void,secureHashFile__stdZsha49_871)381 N_LIB_PRIVATE N_NIMCALL(void, secureHashFile__stdZsha49_871)(NimStringDesc* filename, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result) {
382 FILE* f;
383 tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow state;
384 NimStringDesc* buffer;
385 f = open__systemZio_432(filename, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 0), ((NI) -1));
386 nimZeroMem((void*)(&state), sizeof(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow));
387 newSha1State__stdZsha49_10((&state));
388 buffer = mnewString(((NI) 8192));
389 {
390 while (1) {
391 NI length;
392 length = readChars__systemZio_156(f, buffer->data, (buffer ? buffer->Sup.len : 0));
393 {
394 if (!(length == ((NI) 0))) goto LA5_;
395 goto LA1;
396 }
397 LA5_: ;
398 buffer = setLengthStr(buffer, ((NI) (length)));
399 update__stdZsha49_777((&state), buffer->data, (buffer ? buffer->Sup.len : 0));
400 {
401 if (!!((length == ((NI) 8192)))) goto LA9_;
402 goto LA1;
403 }
404 LA9_: ;
405 }
406 } LA1: ;
407 close__systemZio_218(f);
408 finalize__stdZsha49_821((&state), Result);
409 }
N_INLINE(void,appendChar)410 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
411 (*dest).data[(*dest).Sup.len] = c;
412 (*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
413 (*dest).Sup.len += ((NI) 1);
414 }
N_NIMCALL(void,parseSecureHash__stdZsha49_912)415 N_LIB_PRIVATE N_NIMCALL(void, parseSecureHash__stdZsha49_912)(NimStringDesc* hash, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result) {
416 nimZeroMem((void*)Result, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
417 {
418 NI i;
419 NI i_2;
420 i = (NI)0;
421 i_2 = ((NI) 0);
422 {
423 while (1) {
424 NimStringDesc* T4_;
425 NI T5_;
426 if (!(i_2 < ((NI) 20))) goto LA3;
427 i = i_2;
428 T4_ = NIM_NIL;
429 T4_ = rawNewString(2);
430 appendChar(T4_, hash->data[(NI)(i * ((NI) 2))]);
431 appendChar(T4_, hash->data[(NI)((NI)(i * ((NI) 2)) + ((NI) 1))]);
432 T5_ = (NI)0;
433 T5_ = nsuParseHexInt(T4_);
434 Result[(i)- 0] = ((NU8) (T5_));
435 i_2 += ((NI) 1);
436 } LA3: ;
437 }
438 }
439 }
N_NIMCALL(NIM_BOOL,eqeq___stdZsha49_924)440 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___stdZsha49_924)(tyArray__YtcvxHNKV4YiecPE9ap1mcA x, tyArray__YtcvxHNKV4YiecPE9ap1mcA y) {
441 NIM_BOOL result;
442 { result = (NIM_BOOL)0;
443 {
444 NI f;
445 NI res;
446 f = (NI)0;
447 res = ((NI) 0);
448 {
449 while (1) {
450 if (!(res <= ((NI) 19))) goto LA3;
451 f = ((NI) (res));
452 {
453 if (!!((x[(f)- 0] == y[(f)- 0]))) goto LA6_;
454 goto BeforeRet_;
455 }
456 LA6_: ;
457 res += ((NI) 1);
458 } LA3: ;
459 }
460 }
461 result = NIM_TRUE;
462 }BeforeRet_: ;
463 return result;
464 }
N_NIMCALL(NIM_BOOL,eqeq___stdZsha49_920)465 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___stdZsha49_920)(tyArray__YtcvxHNKV4YiecPE9ap1mcA a, tyArray__YtcvxHNKV4YiecPE9ap1mcA b) {
466 NIM_BOOL result;
467 result = (NIM_BOOL)0;
468 result = eqeq___stdZsha49_924(a, b);
469 return result;
470 }
471