1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3 
4 #include "nimbase.h"
5 #include <string.h>
6 #undef LANGUAGE_C
7 #undef MIPSEB
8 #undef MIPSEL
9 #undef PPC
10 #undef R3000
11 #undef R4000
12 #undef i386
13 #undef linux
14 #undef mips
15 #undef near
16 #undef far
17 #undef powerpc
18 #undef unix
19 #define nimfr_(x, y)
20 #define nimln_(x, y)
21 typedef struct TNimType TNimType;
22 typedef struct TNimNode TNimNode;
23 typedef struct NimStringDesc NimStringDesc;
24 typedef struct TGenericSeq TGenericSeq;
25 typedef struct tyObject_MD5Context__oMciKUdSdCaIeMtcxbiPOw tyObject_MD5Context__oMciKUdSdCaIeMtcxbiPOw;
26 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
27 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
28 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
29 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
30 struct TNimType {
31 NI size;
32 NI align;
33 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
34 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
35 TNimType* base;
36 TNimNode* node;
37 void* finalizer;
38 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
39 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
40 };
41 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
42 struct TNimNode {
43 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
44 NI offset;
45 TNimType* typ;
46 NCSTRING name;
47 NI len;
48 TNimNode** sons;
49 };
50 typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
51 struct TGenericSeq {
52 NI len;
53 NI reserved;
54 };
55 struct NimStringDesc {
56   TGenericSeq Sup;
57 NIM_CHAR data[SEQ_DECL_SIZE];
58 };
59 typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4];
60 typedef NU32 tyArray__JlnxiR65D9cjJpwi6uBZRtA[2];
61 typedef NU8 tyArray__w5VB8h5K8DB3oWrO5U2wqg[64];
62 struct tyObject_MD5Context__oMciKUdSdCaIeMtcxbiPOw {
63 tyArray__FleBT9cC2nxhgiXmSYYnEKA state;
64 tyArray__JlnxiR65D9cjJpwi6uBZRtA count;
65 tyArray__w5VB8h5K8DB3oWrO5U2wqg buffer;
66 };
67 typedef NU32 tyArray__U0SiHM0pVagA9c71oWelQMA[16];
68 typedef NU8 tyArray__cdsir9aPB24hAk6k77P9b9bCA[8];
69 static N_INLINE(void, nimZeroMem)(void* p, NI size);
70 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
71 N_LIB_PRIVATE N_NIMCALL(void, md5Init__pureZmd53_160)(tyObject_MD5Context__oMciKUdSdCaIeMtcxbiPOw* c);
72 static N_INLINE(void, zeroMem__system_1724)(void* p, NI size);
73 N_LIB_PRIVATE N_NIMCALL(void, md5Update__pureZmd53_162)(tyObject_MD5Context__oMciKUdSdCaIeMtcxbiPOw* c, NCSTRING input, NI len);
74 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
75 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
76 N_LIB_PRIVATE N_NIMCALL(void, transform__pureZmd53_143)(void* buffer, NU32* state);
77 N_LIB_PRIVATE N_NIMCALL(void, encode__pureZmd53_74)(NU32* dest, NCSTRING src);
78 N_LIB_PRIVATE N_NIMCALL(void, FF__pureZmd53_42)(NU32* a, NU32 b, NU32 c, NU32 d, NU32 x, NU8 s, NU32 ac);
79 static N_INLINE(NU32, F__pureZmd53_11)(NU32 x, NU32 y, NU32 z);
80 static N_INLINE(void, rot__pureZmd53_31)(NU32* x, NU8 n);
81 N_LIB_PRIVATE N_NIMCALL(void, GG__pureZmd53_50)(NU32* a, NU32 b, NU32 c, NU32 d, NU32 x, NU8 s, NU32 ac);
82 static N_INLINE(NU32, G__pureZmd53_16)(NU32 x, NU32 y, NU32 z);
83 N_LIB_PRIVATE N_NIMCALL(void, HH__pureZmd53_58)(NU32* a, NU32 b, NU32 c, NU32 d, NU32 x, NU8 s, NU32 ac);
84 static N_INLINE(NU32, H__pureZmd53_21)(NU32 x, NU32 y, NU32 z);
85 N_LIB_PRIVATE N_NIMCALL(void, II__pureZmd53_66)(NU32* a, NU32 b, NU32 c, NU32 d, NU32 x, NU8 s, NU32 ac);
86 static N_INLINE(NU32, I__pureZmd53_26)(NU32 x, NU32 y, NU32 z);
87 static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
88 N_LIB_PRIVATE N_NIMCALL(void, md5Final__pureZmd53_166)(tyObject_MD5Context__oMciKUdSdCaIeMtcxbiPOw* c, NU8* digest);
89 N_LIB_PRIVATE N_NIMCALL(void, decode__pureZmd53_115)(NU8* dest, NI destLen_0, NU32* src, NI srcLen_0);
90 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___pureZmd53_182)(tyArray__qtqsWM5aXmcpMIVmvq3kAA d);
91 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
92 extern TNimType NTIuint56__k3HXouOuhqAKq0dx450lXQ_;
93 N_LIB_PRIVATE TNimType NTImd53digest__qtqsWM5aXmcpMIVmvq3kAA_;
94 STRING_LITERAL(TM__evv4Z8qaB9aehA3eX73W1Cw_2, "0123456789abcdef", 16);
N_INLINE(void,nimSetMem__systemZmemory_7)95 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
96 	void* T1_;
97 	T1_ = (void*)0;
98 	T1_ = memset(a, v, ((size_t) (size)));
99 }
N_INLINE(void,nimZeroMem)100 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
101 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
102 }
N_INLINE(void,zeroMem__system_1724)103 static N_INLINE(void, zeroMem__system_1724)(void* p, NI size) {
104 	nimZeroMem(p, size);
105 }
N_NIMCALL(void,md5Init__pureZmd53_160)106 N_LIB_PRIVATE N_NIMCALL(void, md5Init__pureZmd53_160)(tyObject_MD5Context__oMciKUdSdCaIeMtcxbiPOw* c) {
107 	(*c).state[(((NI) 0))- 0] = ((NU32) 1732584193);
108 	(*c).state[(((NI) 1))- 0] = ((NU32) IL64(4023233417));
109 	(*c).state[(((NI) 2))- 0] = ((NU32) IL64(2562383102));
110 	(*c).state[(((NI) 3))- 0] = ((NU32) 271733878);
111 	(*c).count[(((NI) 0))- 0] = ((NU32) 0);
112 	(*c).count[(((NI) 1))- 0] = ((NU32) 0);
113 	zeroMem__system_1724(((void*) ((*c).buffer)), ((NI) 64));
114 }
N_INLINE(void,nimCopyMem)115 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
116 	void* T1_;
117 	T1_ = (void*)0;
118 	T1_ = memcpy(dest, source, ((size_t) (size)));
119 }
N_INLINE(void,copyMem__system_1727)120 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
121 	nimCopyMem(dest, source, size);
122 }
N_NIMCALL(void,encode__pureZmd53_74)123 N_LIB_PRIVATE N_NIMCALL(void, encode__pureZmd53_74)(NU32* dest, NCSTRING src) {
124 	NI j;
125 	j = ((NI) 0);
126 	{
127 		NI i;
128 		NI res;
129 		i = (NI)0;
130 		res = ((NI) 0);
131 		{
132 			while (1) {
133 				if (!(res <= ((NI) 15))) goto LA3;
134 				i = res;
135 				dest[(i)- 0] = (NU32)((NU32)((NU32)(((NU32) (((NU8)(src[j])))) | (NU32)((NU32)(((NU32) (((NU8)(src[(NI)(j + ((NI) 1))]))))) << (NU32)(((NI) 8)))) | (NU32)((NU32)(((NU32) (((NU8)(src[(NI)(j + ((NI) 2))]))))) << (NU32)(((NI) 16)))) | (NU32)((NU32)(((NU32) (((NU8)(src[(NI)(j + ((NI) 3))]))))) << (NU32)(((NI) 24))));
136 				j += ((NI) 4);
137 				res += ((NI) 1);
138 			} LA3: ;
139 		}
140 	}
141 }
N_INLINE(NU32,F__pureZmd53_11)142 static N_INLINE(NU32, F__pureZmd53_11)(NU32 x, NU32 y, NU32 z) {
143 	NU32 result;
144 	result = (NU32)0;
145 	result = (NU32)((NU32)(x & y) | (NU32)((NU32)((NU32) ~(x)) & z));
146 	return result;
147 }
N_INLINE(void,rot__pureZmd53_31)148 static N_INLINE(void, rot__pureZmd53_31)(NU32* x, NU8 n) {
149 	(*x) = (NU32)((NU32)((NU32)((*x)) << (NU32)(n)) | (NU32)((NU32)((*x)) >> (NU32)((NU32)((NU32)(((NU32) 32)) - (NU32)(((NU32) (n)))))));
150 }
N_NIMCALL(void,FF__pureZmd53_42)151 N_LIB_PRIVATE N_NIMCALL(void, FF__pureZmd53_42)(NU32* a, NU32 b, NU32 c, NU32 d, NU32 x, NU8 s, NU32 ac) {
152 	NU32 T1_;
153 	T1_ = (NU32)0;
154 	T1_ = F__pureZmd53_11(b, c, d);
155 	(*a) = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((*a)) + (NU32)(T1_))) + (NU32)(x))) + (NU32)(ac));
156 	rot__pureZmd53_31(a, s);
157 	(*a) = (NU32)((NU32)((*a)) + (NU32)(b));
158 }
N_INLINE(NU32,G__pureZmd53_16)159 static N_INLINE(NU32, G__pureZmd53_16)(NU32 x, NU32 y, NU32 z) {
160 	NU32 result;
161 	result = (NU32)0;
162 	result = (NU32)((NU32)(x & z) | (NU32)(y & (NU32)((NU32) ~(z))));
163 	return result;
164 }
N_NIMCALL(void,GG__pureZmd53_50)165 N_LIB_PRIVATE N_NIMCALL(void, GG__pureZmd53_50)(NU32* a, NU32 b, NU32 c, NU32 d, NU32 x, NU8 s, NU32 ac) {
166 	NU32 T1_;
167 	T1_ = (NU32)0;
168 	T1_ = G__pureZmd53_16(b, c, d);
169 	(*a) = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((*a)) + (NU32)(T1_))) + (NU32)(x))) + (NU32)(ac));
170 	rot__pureZmd53_31(a, s);
171 	(*a) = (NU32)((NU32)((*a)) + (NU32)(b));
172 }
N_INLINE(NU32,H__pureZmd53_21)173 static N_INLINE(NU32, H__pureZmd53_21)(NU32 x, NU32 y, NU32 z) {
174 	NU32 result;
175 	result = (NU32)0;
176 	result = (NU32)((NU32)(x ^ y) ^ z);
177 	return result;
178 }
N_NIMCALL(void,HH__pureZmd53_58)179 N_LIB_PRIVATE N_NIMCALL(void, HH__pureZmd53_58)(NU32* a, NU32 b, NU32 c, NU32 d, NU32 x, NU8 s, NU32 ac) {
180 	NU32 T1_;
181 	T1_ = (NU32)0;
182 	T1_ = H__pureZmd53_21(b, c, d);
183 	(*a) = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((*a)) + (NU32)(T1_))) + (NU32)(x))) + (NU32)(ac));
184 	rot__pureZmd53_31(a, s);
185 	(*a) = (NU32)((NU32)((*a)) + (NU32)(b));
186 }
N_INLINE(NU32,I__pureZmd53_26)187 static N_INLINE(NU32, I__pureZmd53_26)(NU32 x, NU32 y, NU32 z) {
188 	NU32 result;
189 	result = (NU32)0;
190 	result = (NU32)(y ^ (NU32)(x | (NU32)((NU32) ~(z))));
191 	return result;
192 }
N_NIMCALL(void,II__pureZmd53_66)193 N_LIB_PRIVATE N_NIMCALL(void, II__pureZmd53_66)(NU32* a, NU32 b, NU32 c, NU32 d, NU32 x, NU8 s, NU32 ac) {
194 	NU32 T1_;
195 	T1_ = (NU32)0;
196 	T1_ = I__pureZmd53_26(b, c, d);
197 	(*a) = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((*a)) + (NU32)(T1_))) + (NU32)(x))) + (NU32)(ac));
198 	rot__pureZmd53_31(a, s);
199 	(*a) = (NU32)((NU32)((*a)) + (NU32)(b));
200 }
N_NIMCALL(void,transform__pureZmd53_143)201 N_LIB_PRIVATE N_NIMCALL(void, transform__pureZmd53_143)(void* buffer, NU32* state) {
202 	tyArray__U0SiHM0pVagA9c71oWelQMA myBlock;
203 	NU32 a;
204 	NU32 b;
205 	NU32 c;
206 	NU32 d;
207 	nimZeroMem((void*)myBlock, sizeof(tyArray__U0SiHM0pVagA9c71oWelQMA));
208 	encode__pureZmd53_74(myBlock, ((NCSTRING) (buffer)));
209 	a = state[(((NI) 0))- 0];
210 	b = state[(((NI) 1))- 0];
211 	c = state[(((NI) 2))- 0];
212 	d = state[(((NI) 3))- 0];
213 	FF__pureZmd53_42((&a), b, c, d, myBlock[(((NI) 0))- 0], ((NU8) 7), ((NU32) IL64(3614090360)));
214 	FF__pureZmd53_42((&d), a, b, c, myBlock[(((NI) 1))- 0], ((NU8) 12), ((NU32) IL64(3905402710)));
215 	FF__pureZmd53_42((&c), d, a, b, myBlock[(((NI) 2))- 0], ((NU8) 17), ((NU32) 606105819));
216 	FF__pureZmd53_42((&b), c, d, a, myBlock[(((NI) 3))- 0], ((NU8) 22), ((NU32) IL64(3250441966)));
217 	FF__pureZmd53_42((&a), b, c, d, myBlock[(((NI) 4))- 0], ((NU8) 7), ((NU32) IL64(4118548399)));
218 	FF__pureZmd53_42((&d), a, b, c, myBlock[(((NI) 5))- 0], ((NU8) 12), ((NU32) 1200080426));
219 	FF__pureZmd53_42((&c), d, a, b, myBlock[(((NI) 6))- 0], ((NU8) 17), ((NU32) IL64(2821735955)));
220 	FF__pureZmd53_42((&b), c, d, a, myBlock[(((NI) 7))- 0], ((NU8) 22), ((NU32) IL64(4249261313)));
221 	FF__pureZmd53_42((&a), b, c, d, myBlock[(((NI) 8))- 0], ((NU8) 7), ((NU32) 1770035416));
222 	FF__pureZmd53_42((&d), a, b, c, myBlock[(((NI) 9))- 0], ((NU8) 12), ((NU32) IL64(2336552879)));
223 	FF__pureZmd53_42((&c), d, a, b, myBlock[(((NI) 10))- 0], ((NU8) 17), ((NU32) IL64(4294925233)));
224 	FF__pureZmd53_42((&b), c, d, a, myBlock[(((NI) 11))- 0], ((NU8) 22), ((NU32) IL64(2304563134)));
225 	FF__pureZmd53_42((&a), b, c, d, myBlock[(((NI) 12))- 0], ((NU8) 7), ((NU32) 1804603682));
226 	FF__pureZmd53_42((&d), a, b, c, myBlock[(((NI) 13))- 0], ((NU8) 12), ((NU32) IL64(4254626195)));
227 	FF__pureZmd53_42((&c), d, a, b, myBlock[(((NI) 14))- 0], ((NU8) 17), ((NU32) IL64(2792965006)));
228 	FF__pureZmd53_42((&b), c, d, a, myBlock[(((NI) 15))- 0], ((NU8) 22), ((NU32) 1236535329));
229 	GG__pureZmd53_50((&a), b, c, d, myBlock[(((NI) 1))- 0], ((NU8) 5), ((NU32) IL64(4129170786)));
230 	GG__pureZmd53_50((&d), a, b, c, myBlock[(((NI) 6))- 0], ((NU8) 9), ((NU32) IL64(3225465664)));
231 	GG__pureZmd53_50((&c), d, a, b, myBlock[(((NI) 11))- 0], ((NU8) 14), ((NU32) 643717713));
232 	GG__pureZmd53_50((&b), c, d, a, myBlock[(((NI) 0))- 0], ((NU8) 20), ((NU32) IL64(3921069994)));
233 	GG__pureZmd53_50((&a), b, c, d, myBlock[(((NI) 5))- 0], ((NU8) 5), ((NU32) IL64(3593408605)));
234 	GG__pureZmd53_50((&d), a, b, c, myBlock[(((NI) 10))- 0], ((NU8) 9), ((NU32) 38016083));
235 	GG__pureZmd53_50((&c), d, a, b, myBlock[(((NI) 15))- 0], ((NU8) 14), ((NU32) IL64(3634488961)));
236 	GG__pureZmd53_50((&b), c, d, a, myBlock[(((NI) 4))- 0], ((NU8) 20), ((NU32) IL64(3889429448)));
237 	GG__pureZmd53_50((&a), b, c, d, myBlock[(((NI) 9))- 0], ((NU8) 5), ((NU32) 568446438));
238 	GG__pureZmd53_50((&d), a, b, c, myBlock[(((NI) 14))- 0], ((NU8) 9), ((NU32) IL64(3275163606)));
239 	GG__pureZmd53_50((&c), d, a, b, myBlock[(((NI) 3))- 0], ((NU8) 14), ((NU32) IL64(4107603335)));
240 	GG__pureZmd53_50((&b), c, d, a, myBlock[(((NI) 8))- 0], ((NU8) 20), ((NU32) 1163531501));
241 	GG__pureZmd53_50((&a), b, c, d, myBlock[(((NI) 13))- 0], ((NU8) 5), ((NU32) IL64(2850285829)));
242 	GG__pureZmd53_50((&d), a, b, c, myBlock[(((NI) 2))- 0], ((NU8) 9), ((NU32) IL64(4243563512)));
243 	GG__pureZmd53_50((&c), d, a, b, myBlock[(((NI) 7))- 0], ((NU8) 14), ((NU32) 1735328473));
244 	GG__pureZmd53_50((&b), c, d, a, myBlock[(((NI) 12))- 0], ((NU8) 20), ((NU32) IL64(2368359562)));
245 	HH__pureZmd53_58((&a), b, c, d, myBlock[(((NI) 5))- 0], ((NU8) 4), ((NU32) IL64(4294588738)));
246 	HH__pureZmd53_58((&d), a, b, c, myBlock[(((NI) 8))- 0], ((NU8) 11), ((NU32) IL64(2272392833)));
247 	HH__pureZmd53_58((&c), d, a, b, myBlock[(((NI) 11))- 0], ((NU8) 16), ((NU32) 1839030562));
248 	HH__pureZmd53_58((&b), c, d, a, myBlock[(((NI) 14))- 0], ((NU8) 23), ((NU32) IL64(4259657740)));
249 	HH__pureZmd53_58((&a), b, c, d, myBlock[(((NI) 1))- 0], ((NU8) 4), ((NU32) IL64(2763975236)));
250 	HH__pureZmd53_58((&d), a, b, c, myBlock[(((NI) 4))- 0], ((NU8) 11), ((NU32) 1272893353));
251 	HH__pureZmd53_58((&c), d, a, b, myBlock[(((NI) 7))- 0], ((NU8) 16), ((NU32) IL64(4139469664)));
252 	HH__pureZmd53_58((&b), c, d, a, myBlock[(((NI) 10))- 0], ((NU8) 23), ((NU32) IL64(3200236656)));
253 	HH__pureZmd53_58((&a), b, c, d, myBlock[(((NI) 13))- 0], ((NU8) 4), ((NU32) 681279174));
254 	HH__pureZmd53_58((&d), a, b, c, myBlock[(((NI) 0))- 0], ((NU8) 11), ((NU32) IL64(3936430074)));
255 	HH__pureZmd53_58((&c), d, a, b, myBlock[(((NI) 3))- 0], ((NU8) 16), ((NU32) IL64(3572445317)));
256 	HH__pureZmd53_58((&b), c, d, a, myBlock[(((NI) 6))- 0], ((NU8) 23), ((NU32) 76029189));
257 	HH__pureZmd53_58((&a), b, c, d, myBlock[(((NI) 9))- 0], ((NU8) 4), ((NU32) IL64(3654602809)));
258 	HH__pureZmd53_58((&d), a, b, c, myBlock[(((NI) 12))- 0], ((NU8) 11), ((NU32) IL64(3873151461)));
259 	HH__pureZmd53_58((&c), d, a, b, myBlock[(((NI) 15))- 0], ((NU8) 16), ((NU32) 530742520));
260 	HH__pureZmd53_58((&b), c, d, a, myBlock[(((NI) 2))- 0], ((NU8) 23), ((NU32) IL64(3299628645)));
261 	II__pureZmd53_66((&a), b, c, d, myBlock[(((NI) 0))- 0], ((NU8) 6), ((NU32) IL64(4096336452)));
262 	II__pureZmd53_66((&d), a, b, c, myBlock[(((NI) 7))- 0], ((NU8) 10), ((NU32) 1126891415));
263 	II__pureZmd53_66((&c), d, a, b, myBlock[(((NI) 14))- 0], ((NU8) 15), ((NU32) IL64(2878612391)));
264 	II__pureZmd53_66((&b), c, d, a, myBlock[(((NI) 5))- 0], ((NU8) 21), ((NU32) IL64(4237533241)));
265 	II__pureZmd53_66((&a), b, c, d, myBlock[(((NI) 12))- 0], ((NU8) 6), ((NU32) 1700485571));
266 	II__pureZmd53_66((&d), a, b, c, myBlock[(((NI) 3))- 0], ((NU8) 10), ((NU32) IL64(2399980690)));
267 	II__pureZmd53_66((&c), d, a, b, myBlock[(((NI) 10))- 0], ((NU8) 15), ((NU32) IL64(4293915773)));
268 	II__pureZmd53_66((&b), c, d, a, myBlock[(((NI) 1))- 0], ((NU8) 21), ((NU32) IL64(2240044497)));
269 	II__pureZmd53_66((&a), b, c, d, myBlock[(((NI) 8))- 0], ((NU8) 6), ((NU32) 1873313359));
270 	II__pureZmd53_66((&d), a, b, c, myBlock[(((NI) 15))- 0], ((NU8) 10), ((NU32) IL64(4264355552)));
271 	II__pureZmd53_66((&c), d, a, b, myBlock[(((NI) 6))- 0], ((NU8) 15), ((NU32) IL64(2734768916)));
272 	II__pureZmd53_66((&b), c, d, a, myBlock[(((NI) 13))- 0], ((NU8) 21), ((NU32) 1309151649));
273 	II__pureZmd53_66((&a), b, c, d, myBlock[(((NI) 4))- 0], ((NU8) 6), ((NU32) IL64(4149444226)));
274 	II__pureZmd53_66((&d), a, b, c, myBlock[(((NI) 11))- 0], ((NU8) 10), ((NU32) IL64(3174756917)));
275 	II__pureZmd53_66((&c), d, a, b, myBlock[(((NI) 2))- 0], ((NU8) 15), ((NU32) 718787259));
276 	II__pureZmd53_66((&b), c, d, a, myBlock[(((NI) 9))- 0], ((NU8) 21), ((NU32) IL64(3951481745)));
277 	state[(((NI) 0))- 0] = (NU32)((NU32)(state[(((NI) 0))- 0]) + (NU32)(a));
278 	state[(((NI) 1))- 0] = (NU32)((NU32)(state[(((NI) 1))- 0]) + (NU32)(b));
279 	state[(((NI) 2))- 0] = (NU32)((NU32)(state[(((NI) 2))- 0]) + (NU32)(c));
280 	state[(((NI) 3))- 0] = (NU32)((NU32)(state[(((NI) 3))- 0]) + (NU32)(d));
281 }
N_NIMCALL(void,md5Update__pureZmd53_162)282 N_LIB_PRIVATE N_NIMCALL(void, md5Update__pureZmd53_162)(tyObject_MD5Context__oMciKUdSdCaIeMtcxbiPOw* c, NCSTRING input, NI len) {
283 	NCSTRING input_2;
284 	NI Index;
285 	NI PartLen;
286 	input_2 = input;
287 	Index = ((NI) ((NU32)((NU32)((NU32)((*c).count[(((NI) 0))- 0]) >> (NU32)(((NI) 3))) & ((NU32) 63))));
288 	(*c).count[(((NI) 0))- 0] = (NU32)((NU32)((*c).count[(((NI) 0))- 0]) + (NU32)((NU32)((NU32)(((NU32) (len))) << (NU32)(((NI) 3)))));
289 	{
290 		if (!((NU32)((*c).count[(((NI) 0))- 0]) < (NU32)((NU32)((NU32)(((NU32) (len))) << (NU32)(((NI) 3)))))) goto LA3_;
291 		(*c).count[(((NI) 1))- 0] = (NU32)((NU32)((*c).count[(((NI) 1))- 0]) + (NU32)(((NU32) 1)));
292 	}
293 	LA3_: ;
294 	(*c).count[(((NI) 1))- 0] = (NU32)((NU32)((*c).count[(((NI) 1))- 0]) + (NU32)((NU32)((NU32)(((NU32) (len))) >> (NU32)(((NI) 29)))));
295 	PartLen = (NI)(((NI) 64) - Index);
296 	{
297 		NI i;
298 		if (!(PartLen <= len)) goto LA7_;
299 		copyMem__system_1727(((void*) ((&(*c).buffer[(Index)- 0]))), ((void*) (input_2)), ((NI) (PartLen)));
300 		transform__pureZmd53_143(((void*) ((*c).buffer)), (*c).state);
301 		i = PartLen;
302 		{
303 			while (1) {
304 				if (!((NI)(i + ((NI) 63)) < len)) goto LA10;
305 				transform__pureZmd53_143(((void*) ((&input_2[i]))), (*c).state);
306 				i += ((NI) 64);
307 			} LA10: ;
308 		}
309 		copyMem__system_1727(((void*) ((&(*c).buffer[(((NI) 0))- 0]))), ((void*) ((&input_2[i]))), ((NI) ((NI)(len - i))));
310 	}
311 	goto LA5_;
312 	LA7_: ;
313 	{
314 		copyMem__system_1727(((void*) ((&(*c).buffer[(Index)- 0]))), ((void*) ((&input_2[((NI) 0)]))), ((NI) (len)));
315 	}
316 	LA5_: ;
317 }
N_INLINE(NCSTRING,nimToCStringConv)318 static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) {
319 	NCSTRING result;
320 	result = (NCSTRING)0;
321 	{
322 		NIM_BOOL T3_;
323 		T3_ = (NIM_BOOL)0;
324 		T3_ = (s == ((NimStringDesc*) NIM_NIL));
325 		if (T3_) goto LA4_;
326 		T3_ = ((*s).Sup.len == ((NI) 0));
327 		LA4_: ;
328 		if (!T3_) goto LA5_;
329 		result = "";
330 	}
331 	goto LA1_;
332 	LA5_: ;
333 	{
334 		result = ((NCSTRING) ((*s).data));
335 	}
336 	LA1_: ;
337 	return result;
338 }
N_NIMCALL(void,decode__pureZmd53_115)339 N_LIB_PRIVATE N_NIMCALL(void, decode__pureZmd53_115)(NU8* dest, NI destLen_0, NU32* src, NI srcLen_0) {
340 	NI i;
341 	i = ((NI) 0);
342 	{
343 		NI j;
344 		NI colontmp_;
345 		NI res;
346 		j = (NI)0;
347 		colontmp_ = (NI)0;
348 		colontmp_ = (srcLen_0-1);
349 		res = ((NI) 0);
350 		{
351 			while (1) {
352 				if (!(res <= colontmp_)) goto LA3;
353 				j = res;
354 				dest[i] = ((NU8) ((NU32)(src[j] & ((NU32) 255))));
355 				dest[(NI)(i + ((NI) 1))] = ((NU8) ((NU32)((NU32)((NU32)(src[j]) >> (NU32)(((NI) 8))) & ((NU32) 255))));
356 				dest[(NI)(i + ((NI) 2))] = ((NU8) ((NU32)((NU32)((NU32)(src[j]) >> (NU32)(((NI) 16))) & ((NU32) 255))));
357 				dest[(NI)(i + ((NI) 3))] = ((NU8) ((NU32)((NU32)((NU32)(src[j]) >> (NU32)(((NI) 24))) & ((NU32) 255))));
358 				i += ((NI) 4);
359 				res += ((NI) 1);
360 			} LA3: ;
361 		}
362 	}
363 }
N_NIMCALL(void,md5Final__pureZmd53_166)364 N_LIB_PRIVATE N_NIMCALL(void, md5Final__pureZmd53_166)(tyObject_MD5Context__oMciKUdSdCaIeMtcxbiPOw* c, NU8* digest) {
365 	tyArray__cdsir9aPB24hAk6k77P9b9bCA Bits;
366 	NI PadLen;
367 	NI Index;
368 	nimZeroMem((void*)Bits, sizeof(tyArray__cdsir9aPB24hAk6k77P9b9bCA));
369 	PadLen = (NI)0;
370 	decode__pureZmd53_115(Bits, 8, (*c).count, 2);
371 	Index = ((NI) ((NU32)((NU32)((NU32)((*c).count[(((NI) 0))- 0]) >> (NU32)(((NI) 3))) & ((NU32) 63))));
372 	{
373 		if (!(Index < ((NI) 56))) goto LA3_;
374 		PadLen = (NI)(((NI) 56) - Index);
375 	}
376 	goto LA1_;
377 	LA3_: ;
378 	{
379 		PadLen = (NI)(((NI) 120) - Index);
380 	}
381 	LA1_: ;
382 	md5Update__pureZmd53_162(c, "\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000", PadLen);
383 	md5Update__pureZmd53_162(c, ((NCSTRING) (Bits)), ((NI) 8));
384 	decode__pureZmd53_115(digest, 16, (*c).state, 4);
385 	zeroMem__system_1724(((void*) (c)), ((NI) 88));
386 }
N_NIMCALL(NimStringDesc *,dollar___pureZmd53_182)387 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___pureZmd53_182)(tyArray__qtqsWM5aXmcpMIVmvq3kAA d) {
388 	NimStringDesc* result;
389 	result = NIM_NIL;
390 	result = ((NimStringDesc*) NIM_NIL);
391 	{
392 		NI i;
393 		NI res;
394 		i = (NI)0;
395 		res = ((NI) 0);
396 		{
397 			while (1) {
398 				if (!(res <= ((NI) 15))) goto LA3;
399 				i = res;
400 				result = addChar(result, ((NimStringDesc*) &TM__evv4Z8qaB9aehA3eX73W1Cw_2)->data[(NI)((NI)((NI32)(((NI) (d[(i)- 0]))) >> (NU32)(((NI) 4))) & ((NI) 15))]);
401 				result = addChar(result, ((NimStringDesc*) &TM__evv4Z8qaB9aehA3eX73W1Cw_2)->data[(NI)(((NI) (d[(i)- 0])) & ((NI) 15))]);
402 				res += ((NI) 1);
403 			} LA3: ;
404 		}
405 	}
406 	return result;
407 }
N_NIMCALL(NimStringDesc *,getMD5__pureZmd53_195)408 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getMD5__pureZmd53_195)(NimStringDesc* s) {
409 	NimStringDesc* result;
410 	tyObject_MD5Context__oMciKUdSdCaIeMtcxbiPOw c;
411 	tyArray__qtqsWM5aXmcpMIVmvq3kAA d;
412 	result = NIM_NIL;
413 	nimZeroMem((void*)(&c), sizeof(tyObject_MD5Context__oMciKUdSdCaIeMtcxbiPOw));
414 	nimZeroMem((void*)d, sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA));
415 	md5Init__pureZmd53_160((&c));
416 	md5Update__pureZmd53_162((&c), nimToCStringConv(s), (s ? s->Sup.len : 0));
417 	md5Final__pureZmd53_166((&c), d);
418 	result = dollar___pureZmd53_182(d);
419 	return result;
420 }
N_NIMCALL(void,stdlib_md5DatInit000)421 N_LIB_PRIVATE N_NIMCALL(void, stdlib_md5DatInit000)(void) {
422 NTImd53digest__qtqsWM5aXmcpMIVmvq3kAA_.size = sizeof(tyArray__qtqsWM5aXmcpMIVmvq3kAA);
423 NTImd53digest__qtqsWM5aXmcpMIVmvq3kAA_.align = NIM_ALIGNOF(tyArray__qtqsWM5aXmcpMIVmvq3kAA);
424 NTImd53digest__qtqsWM5aXmcpMIVmvq3kAA_.kind = 16;
425 NTImd53digest__qtqsWM5aXmcpMIVmvq3kAA_.base = (&NTIuint56__k3HXouOuhqAKq0dx450lXQ_);
426 NTImd53digest__qtqsWM5aXmcpMIVmvq3kAA_.flags = 1;
427 }
428 
429