cr-marcstevens / hashclash

Project HashClash - MD5 & SHA-1 cryptanalysis
Other
742 stars 87 forks source link

Can't get "textcoll.sh" to finish #44

Closed or523 closed 2 months ago

or523 commented 2 months ago

Hi there, I'm trying to get a textual MD5 collision, but I can't get the textcoll.sh script to work. No matter what I try (and I tried just to run the initial example), I always end up with:

...
************Converting into look-up table...ls: cannot access 'textcoll1_*.txt': No such file or directory
Found first near-collision block in file: 
Starting search for second near-collision block in 10 seconds...
MD5 differential path textcollision solver
Copyright (C) 2024 Marc Stevens
http://homepages.cwi.nl/~stevens/

delta_m[5] = [!10!]
IHV1   = 0123456789abcdeffedcba9876543210
IHV2   = 0123456789abcdeffedcba9876543210
dIHV   = [!!][!!][!!][!!]
MSBs: 1100
Runtime: 0.00402999
Caught exception!!:
IHV1 and IHV2 do not fulfill the necessary conditions such that dF0,dF1 = 1<<31.
terminate called after throwing an instance of 'std::runtime_error'
  what():  IHV1 and IHV2 do not fulfill the necessary conditions such that dF0,dF1 = 1<<31.
../scripts/textcoll.sh: line 68: 1223464 Aborted                 (core dumped) $TEXTCOLL $MDIFF $SECONDBLOCKBYTES --secondblock --alphabet $ALPHABET --prefixfile partial_solution.txt

Currently I tried to:

What am I doing wrong? :cry: Thank you very much! :pray:

cr-marcstevens commented 2 months ago

Can you share the entire output? And how you call it?

Look at the ls error at the top. Did the first block succeed properly?

or523 commented 2 months ago

Example of full output of one of the runs:

../scripts/textcoll.sh
MD5 differential path textcollision solver
Copyright (C) 2024 Marc Stevens
http://homepages.cwi.nl/~stevens/

delta_m[5] = [!10!]
Q-3:    |........ ........ ........ ........|
Q-2:    |........ ........ ........ ........|
Q-1:    |........ ........ ........ ........|
Q0: |........ ........ ........ ........| ok p=1
Q1: |........ ........ ........ ........| ok p=1
Q2: |........ ........ ........ ........| ok p=1
Q3: |........ ........ ........ ........| ok p=1
Q4: |........ .0...... ........ ........| ok p=1
Q5: |........ ^0...... ........ ........| ok p=1
Q6: |........ +-...... ........ ........| ok p=1
Q7: |........ 0+...... ........ ........| ok p=1
Q8: |........ 1+...... ........ ..1.0...| ok p=1
Q9: |........ 0+...... ........ ..0^0...| ok p=1
Q10:    |.....1.. +-...... ........ ..+--...| ok p=1
Q11:    |.....0.. 01...... ........ ..11+.0.| ok p=1
Q12:    |!....+.1 100..00. ........ .01+-^0.| ok p=1
Q13:    |....1+.0 101^^11. ....0.0. .0110++.| ok p=1
Q14:    |....1+.+ -------. .0..1^0. .+0+-1+.| ok p=1
Q15:    |....+-.1 0+1010-! .0..+-+. .-+++++.| ok p=0.976562
Q16:    |0....0.1 -+00011. .+..0-.. .0110.1.| ok p=0.932617
Q17:    |0...^-.. 01....1. .1..-+^. .0001^0.| ok p=0.508789
Q18:    |-....1.. +0..0... .+...-.. ........| ok p=0.470703
Q19:    |0....0.. ........ .-..^-.. .......0| ok p=0.289062
Q20:    |+..0...0 ^...+... .1...0.. .......1| ok p=0.506836
Q21:    |...1...1 ....+... .0...1.. .......-| ok p=0.855469
Q22:    |^..+...+ ....-... ........ ........| ok p=0.924805
Q23:    |........ ....-... ........ ..0....^| ok p=0.523438
Q24:    |...^...^ ....1... ........ ..1...0.| ok p=1
Q25:    |........ ....0... ........ ..-...1.| ok p=0.928711
Q26:    |........ ........ ........ ......+.| ok p=1
Q27:    |........ ........ .....0.. ..^.....| ok p=1
Q28:    |........ ........ .....1.. ......^.| ok p=1
Q29:    |........ ........ .....-.. ........| ok p=1
Q30:    |........ ........ ........ ........| ok p=1
Q31:    |........ ........ .....^.. ........| ok p=1
Q32:    |........ ........ ........ ........| ok p=1
Q33:    |........ ........ ........ ........| ok p=1
Q34:    |........ ........ ........ ........| ok p=1
Q35:    |........ ........ ........ ........| ok p=1
Q36:    |........ ........ ........ ........| ok p=1
Q37:    |........ ........ ........ ........| ok p=1
Q38:    |........ ........ ........ ........| ok p=1
Q39:    |........ ........ ........ ........| ok p=1
Q40:    |........ ........ ........ ........| ok p=1
Q41:    |........ ........ ........ ........| ok p=1
Q42:    |........ ........ ........ ........| ok p=1
Q43:    |........ ........ ........ ........| ok p=1
Q44:    |........ ........ ........ ........| ok p=1
Q45:    |........ ........ ........ ........| ok p=1
Q46:    |........ ........ ........ ........| ok p=1
Q47:    |........ ........ ........ ........| ok p=1
Q48:    |........ ........ ........ ........| ok p=1
Q49:    |........ ........ ........ ........| ok p=1
Q50:    |0....... ........ ........ ........| ok p=1
Q51:    |1....... ........ ........ ........| ok p=0.478516
Q52:    |+....... ........ ........ ........| ok p=1
Q53:    |+....... ........ ........ ........| ok p=1
Q54:    |-....... ........ ........ ........| ok p=1
Q55:    |+....... ........ ........ ........| ok p=1
Q56:    |-....... ........ ........ ........| ok p=1
Q57:    |+....... ........ ........ ........| ok p=1
Q58:    |-....... ........ ........ ........| ok p=1
Q59:    |+....... ........ ........ ........| ok p=1
Q60:    |-....... ........ ........ ........| ok p=1
Q61:    |+....... ........ ........ ........| ok p=1
Q62:    |-....... ........ ........ ........| ok p=1
Q63:    |+....... ........ ........ ........| ok p=1
Q64:    |+....... ........ ........ ........|
IHV1   = 0123456789abcdeffedcba9876543210

======
Generate Q13-Q17,m1:
0%   10   20   30   40   50   60   70   80   90   100%
|----|----|----|----|----|----|----|----|----|----|
***************************************************
Generate Q13-Q17,m1: attempts: 2^26.214 success rate: 2^-5.21396

======
Step 15: (Q12,m15):
0%   10   20   30   40   50   60   70   80   90   100%
|----|----|----|----|----|----|----|----|----|----|
***************************************************
Step 15: attempts: 2^27.2509, success rate: 2^-6.25092

======
Step 14: (Q11,m14):
0%   10   20   30   40   50   60   70   80   90   100%
|----|----|----|----|----|----|----|----|----|----|
***************************************************
Step 14: attempts: 2^26.9332, success rate: 2^-5.93315

======
Step 13: (Q10,m13):
0%   10   20   30   40   50   60   70   80   90   100%
|----|----|----|----|----|----|----|----|----|----|
***************************************************
Step 13: attempts: 2^30.1284, success rate: 2^-9.12837

======
Step 12: (Q9,m12):
0%   10   20   30   40   50   60   70   80   90   100%
|----|----|----|----|----|----|----|----|----|----|
***************************************************
Step 12: attempts: 2^25.0487, success rate: 2^-4.04868

======
Step 17: (Q18,m6):
0%   10   20   30   40   50   60   70   80   90   100%
|----|----|----|----|----|----|----|----|----|----|
***************************************************
Step 17: attempts: 2^28.2983, success rate: 2^-7.29828

======
Step: (m11,Q8,Q19):
0%   10   20   30   40   50   60   70   80   90   100%
|----|----|----|----|----|----|----|----|----|----|
***************************************************
Step m11: attempts: 2^33.4833, success rate: 2^-12.4833

======
Step 19: (Q20,m0):
0%   10   20   30   40   50   60   70   80   90   100%
|----|----|----|----|----|----|----|----|----|----|
***************************************************
Step 19: attempts: 2^29.863, success rate: 2^-8.86297

======
Step 20: (Q21,m5):
0%   10   20   30   40   50   60   70   80   90   100%
|----|----|----|----|----|----|----|----|----|----|
***************************************************
Step 20: attempts: 2^27.6413, success rate: 2^-6.6413
out.size() after m5+m_diff filtering: 1033065

======
Step: (m10,Q7,Q22,Q23):
0%   10   20   30   40   50   60   70   80   90   100%
|----|----|----|----|----|----|----|----|----|----|
***************************************************
Step m10: attempts: 2^30.2968, success rate: 2^-9.29682

======
Step 23: (Q24,m4):
0%   10   20   30   40   50   60   70   80   90   100%
|----|----|----|----|----|----|----|----|----|----|
***************************************************
Step 23: attempts: 2^27.8111, success rate: 2^-6.81114
Saving 'Q7Q24.bin.gz'...m0[0]=msg[0]: '
m0[0]=msg[0]:  ':1

m0[1]=msg[1]: 3BqbcaCRSr#{12QKLd:sYDk[y+Az;t)*Ji=P9T4Z<@|p,}0jlI_m^huE8>M5(NH?.OX6]o&U7ef-x~FvVWngGw
m0[1]=msg[1]:  3:0.01626 B:0.0151 q:0.01471 b:0.01461 c:0.01453 a:0.01443 C:0.01435 R:0.0143 S:0.01423 r:0.01416 #:0.01409 {:0.01386 1:0.01379 2:0.01374 Q:0.01365 K:0.01358 L:0.01321 d:0.01317 ::0.01316 s:0.01295 Y:0.0129 D:0.01277 k:0.01277 [:0.01275 y:0.01273 +:0.01262 A:0.0126 z:0.01254 ;:0.01251 t:0.01238 ):0.01216 *:0.01215 J:0.01207 i:0.01202 =:0.01201 P:0.01198 9:0.01197 T:0.01172 4:0.01169 Z:0.01161 <:0.01159 @:0.01143 |:0.01135 p:0.01126 ,:0.01113 }:0.01112 0:0.0111 j:0.01109 l:0.01108 I:0.01102 _:0.01097 m:0.01091 ^:0.0109 h:0.01081 u:0.01073 E:0.01073 8:0.01073 >:0.01069 M:0.01056 5:0.01052 (:0.0105 N:0.01041 H:0.01041 ?:0.01035 .:0.01027 O:0.01021 X:0.01013 6:0.01005 ]:0.01004 o:0.009963 &:0.009847 U:0.009832 7:0.009812 e:0.009803 f:0.009775 -:0.009706 x:0.009688 ~:0.009539 F:0.009445 v:0.009388 V:0.009366 W:0.00924 n:0.009161 g:0.008708 G:0.008522 w:0.008302

m0[2]=msg[2]: S]oEHGVK0e*l1bR.QYWk2-c&_XITJr,}O<8P6+z?FhUAu^nq9L{M[4>C5Zdwm;@#Dj~7x=vBNg3(i|)sf:typa
m0[2]=msg[2]:  S:0.01354 ]:0.01313 o:0.01288 E:0.01278 H:0.01268 G:0.01265 V:0.01257 K:0.01255 0:0.01252 e:0.01245 *:0.01245 l:0.01244 1:0.01225 b:0.01224 R:0.01217 .:0.01214 Q:0.01213 Y:0.01212 W:0.01211 k:0.0121 2:0.01203 -:0.01202 c:0.01202 &:0.01196 _:0.01196 X:0.01195 I:0.01189 T:0.01187 J:0.01186 r:0.01184 ,:0.01179 }:0.01178 O:0.01178 <:0.01178 8:0.01177 P:0.0117 6:0.0117 +:0.0117 z:0.01169 ?:0.01167 F:0.01167 h:0.01163 U:0.01162 A:0.0116 u:0.01159 ^:0.01159 n:0.01157 q:0.01152 9:0.0115 L:0.01149 {:0.01149 M:0.01143 [:0.01138 4:0.01134 >:0.01129 C:0.01129 5:0.01128 Z:0.01128 d:0.01124 w:0.01119 m:0.01117 ;:0.01116 @:0.01114 #:0.01114 D:0.01113 j:0.01113 ~:0.01112 7:0.01112 x:0.01111 =:0.01109 v:0.01108 B:0.01103 N:0.011 g:0.01099 3:0.01099 (:0.01098 i:0.01094 |:0.01091 ):0.01089 s:0.01088 f:0.01079 ::0.01073 t:0.01067 y:0.01065 p:0.01045 a:0.01006

m0[3]=msg[3]: iAjIrZRbY:JqQ2B*)p[aPKySkzCs9cX;{1@Hhx08(+3l<DgLoT#?_|dWGOt4,w7N]efUm^MEnF>}=5V-vu~&.6
m0[3]=msg[3]:  i:0.01859 A:0.01773 j:0.01737 I:0.01724 r:0.01721 Z:0.01685 R:0.01673 b:0.01663 Y:0.01619 ::0.016 J:0.0159 q:0.01585 Q:0.01542 2:0.0154 B:0.01536 *:0.01521 ):0.01516 p:0.01486 [:0.01477 a:0.01463 P:0.01454 K:0.01445 y:0.01444 S:0.01417 k:0.01416 z:0.01398 C:0.01398 s:0.01395 9:0.01385 c:0.01377 X:0.01356 ;:0.01348 {:0.01345 1:0.01345 @:0.01336 H:0.01325 h:0.01273 x:0.01233 0:0.01213 8:0.01199 (:0.01194 +:0.01193 3:0.01179 l:0.01168 <:0.01113 D:0.01108 g:0.01104 L:0.01097 o:0.01034 T:0.01032 #:0.01021 ?:0.01015 _:0.01015 |:0.01009 d:0.009956 W:0.009934 G:0.009911 O:0.009843 t:0.009521 4:0.009435 ,:0.00899 w:0.008928 7:0.00891 N:0.008874 ]:0.008413 e:0.008014 f:0.007938 U:0.007828 m:0.007718 ^:0.007644 M:0.007596 E:0.007299 n:0.007261 F:0.007252 >:0.007217 }:0.00721 =:0.007038 5:0.007033 V:0.006962 -:0.006932 v:0.006902 u:0.006887 ~:0.006711 &:0.006662 .:0.006215 6:0.006039

m1[0]=msg[4]: GKLHCOPDS?T@W;X<JFBN>R:V
m1[0]=msg[4]:  G:0.1089 K:0.1071 L:0.1046 H:0.09517 C:0.08028 O:0.07691 P:0.07419 D:0.06872 S:0.04636 ?:0.0454 T:0.04291 @:0.03754 W:0.01692 ;:0.01525 X:0.01472 <:0.01337 J:0.01179 F:0.01027 B:0.009352 N:0.00811 >:0.004358 R:0.004124 ::0.002099 V:0.001687

m1[1]=msg[5]: >;Okf~vVBj[w6SKsR&F*b#?r@:coz^{N.ZG_W2ng7J+C3x-(U)pM,eaPyT9Eq}umQlhYi=4H|X0t<5D8LAdI]1
m1[1]=msg[5]:  >:0.02006 ;:0.01741 O:0.01727 k:0.01727 f:0.01713 ~:0.01687 v:0.01685 V:0.01668 B:0.01659 j:0.01619 [:0.01603 w:0.01601 6:0.01575 S:0.01566 K:0.01561 s:0.01559 R:0.01523 &:0.01515 F:0.01504 *:0.0147 b:0.0146 #:0.01419 ?:0.01412 r:0.01372 @:0.01362 ::0.01354 c:0.01341 o:0.01336 z:0.01333 ^:0.01315 {:0.01314 N:0.01304 .:0.01302 Z:0.01297 G:0.01294 _:0.01292 W:0.01274 2:0.01268 n:0.01265 g:0.01235 7:0.0123 J:0.01224 +:0.0117 C:0.01165 3:0.01154 x:0.01132 -:0.01115 (:0.01106 U:0.01096 ):0.01088 p:0.0105 M:0.01045 ,:0.009679 e:0.009582 a:0.009526 P:0.009386 y:0.009369 T:0.009227 9:0.009202 E:0.009076 q:0.009062 }:0.009043 u:0.009025 m:0.008889 Q:0.008776 l:0.008752 h:0.008721 Y:0.008643 i:0.008605 =:0.008357 4:0.008292 H:0.008016 |:0.007653 X:0.007612 0:0.007382 t:0.007185 <:0.007169 5:0.006916 D:0.006673 8:0.006662 L:0.005981 A:0.005952 d:0.005908 I:0.005863 ]:0.005785 1:0.005685

m1[2]=msg[6]: JK;CBSR:[3ZL2I<TDcQbA9+*4Y1a,#d)MHE=8@PU]0e5X(-
m1[2]=msg[6]:  J:0.08545 K:0.08211 ;:0.07205 C:0.07026 B:0.06695 S:0.06602 R:0.0617 ::0.05367 [:0.03997 3:0.03396 Z:0.0303 L:0.02787 2:0.02519 I:0.0246 <:0.02167 T:0.0216 D:0.02084 c:0.01933 Q:0.01915 b:0.01847 A:0.01666 9:0.0161 +:0.01568 *:0.01225 4:0.01142 Y:0.0106 1:0.008791 a:0.007022 ,:0.005671 #:0.005079 d:0.004656 ):0.00458 M:0.003093 H:0.00247 E:0.002086 =:0.001828 8:0.001815 @:0.001801 P:0.001569 U:0.001148 ]:0.001055 0:0.0009713 e:0.0009279 5:0.0007658 X:0.0005603 (:0.000154 -:0.0001092

m1[3]=msg[7]: xpPiqvy@Xwa(8IzQYR0G9jA?rohbWgZ_fH)17:J{sFOc2VBk*&~nKe+6mC>3NS^TUlDM[tE#<=|]u;.d}-,4L5
m1[3]=msg[7]:  x:0.02084 p:0.02033 P:0.02028 i:0.02006 q:0.01943 v:0.01878 y:0.01867 @:0.01841 X:0.01814 w:0.0181 a:0.0176 (:0.0174 8:0.01739 I:0.01686 z:0.01666 Q:0.01655 Y:0.0163 R:0.01602 0:0.01579 G:0.01522 9:0.01508 j:0.01492 A:0.01484 ?:0.0146 r:0.01455 o:0.01449 h:0.01408 b:0.01379 W:0.01378 g:0.01366 Z:0.01334 _:0.01324 f:0.01313 H:0.01312 ):0.01311 1:0.01289 7:0.01277 ::0.0114 J:0.01126 {:0.01121 s:0.01115 F:0.01111 O:0.0111 c:0.01098 2:0.01061 V:0.01054 B:0.0105 k:0.01035 *:0.01019 &:0.01011 ~:0.0101 n:0.009914 K:0.009274 e:0.009213 +:0.008967 6:0.008791 m:0.008741 C:0.008732 >:0.008713 3:0.008686 N:0.008509 S:0.007919 ^:0.007902 T:0.007843 U:0.007647 l:0.007431 D:0.007401 M:0.007269 [:0.007214 t:0.007177 E:0.006783 #:0.006779 <:0.006655 =:0.006447 |:0.006438 ]:0.00641 u:0.006288 ;:0.006286 .:0.006166 d:0.006046 }:0.006035 -:0.00566 ,:0.005537 4:0.005531 L:0.005413 5:0.005363

m4[0]=msg[16]: IgL[Y.lHkN^)cSODtw,Vz-E@C(TU1JMF7&P|0QdsmGpR>qjWnfaobe2h#6*=]:3_XA;B9v}iryK5?~x4+u{Z<8
m4[0]=msg[16]:  I:0.01181 g:0.0118 L:0.0118 [:0.01178 Y:0.01177 .:0.01175 l:0.01174 H:0.01173 k:0.01172 N:0.01172 ^:0.01172 ):0.01171 c:0.01171 S:0.01171 O:0.0117 D:0.0117 t:0.0117 w:0.0117 ,:0.0117 V:0.01169 z:0.01169 -:0.01169 E:0.01169 @:0.01168 C:0.01168 (:0.01168 T:0.01168 U:0.01167 1:0.01167 J:0.01167 M:0.01166 F:0.01166 7:0.01165 &:0.01164 P:0.01164 |:0.01164 0:0.01164 Q:0.01164 d:0.01164 s:0.01164 m:0.01163 G:0.01163 p:0.01163 R:0.01163 >:0.01162 q:0.01162 j:0.01161 W:0.01161 n:0.01161 f:0.01161 a:0.01161 o:0.01161 b:0.0116 e:0.0116 2:0.0116 h:0.01159 #:0.01159 6:0.01159 *:0.01159 =:0.01158 ]:0.01158 ::0.01157 3:0.01157 _:0.01157 X:0.01157 A:0.01157 ;:0.01157 B:0.01157 9:0.01156 v:0.01156 }:0.01156 i:0.01156 r:0.01155 y:0.01155 K:0.01154 5:0.01153 ?:0.01152 ~:0.01152 x:0.01152 4:0.01152 +:0.01151 u:0.01151 {:0.0115 Z:0.01148 <:0.01145 8:0.01144

m4[1]=msg[17]: WsSmQU>AV+}CTN-y)(JO;Ee=~_PG&ow9RM.lLg{q1#?BIv7za0:62Y8id]KD5,[f@*hFtH|^nZck<jX4xb3upr
m4[1]=msg[17]:  W:0.01189 s:0.01184 S:0.01182 m:0.0118 Q:0.01177 U:0.01176 >:0.01175 A:0.01174 V:0.01174 +:0.01173 }:0.01172 C:0.01171 T:0.01171 N:0.0117 -:0.0117 y:0.01169 ):0.01169 (:0.01169 J:0.01169 O:0.01168 ;:0.01168 E:0.01168 e:0.01168 =:0.01168 ~:0.01167 _:0.01167 P:0.01167 G:0.01167 &:0.01167 o:0.01166 w:0.01166 9:0.01165 R:0.01165 M:0.01165 .:0.01165 l:0.01165 L:0.01164 g:0.01164 {:0.01164 q:0.01164 1:0.01163 #:0.01163 ?:0.01162 B:0.01162 I:0.01161 v:0.01161 7:0.01161 z:0.0116 a:0.0116 0:0.0116 ::0.0116 6:0.0116 2:0.0116 Y:0.01159 8:0.01159 i:0.01159 d:0.01159 ]:0.01159 K:0.01159 D:0.01158 5:0.01158 ,:0.01158 [:0.01157 f:0.01157 @:0.01157 *:0.01157 h:0.01157 F:0.01156 t:0.01156 H:0.01156 |:0.01155 ^:0.01155 n:0.01155 Z:0.01153 c:0.01153 k:0.01153 <:0.01152 j:0.01152 X:0.01151 4:0.0115 x:0.0115 b:0.0115 3:0.0115 u:0.01149 p:0.01149 r:0.01146

m4[2]=msg[18]: Cisu^B-.AJcU>M]nz:mTIYl5,Z}Sa*?9&={2~F61)GeVvd7q_3LObR4gkxW|f[PN0roj;Hw+@ty8Dph#XK<Q(E
m4[2]=msg[18]:  C:0.01181 i:0.01181 s:0.01179 u:0.01179 ^:0.01178 B:0.01178 -:0.01176 .:0.01176 A:0.01176 J:0.01175 c:0.01175 U:0.01173 >:0.01172 M:0.01172 ]:0.01171 n:0.01171 z:0.01171 ::0.01171 m:0.01171 T:0.01171 I:0.01171 Y:0.0117 l:0.0117 5:0.01169 ,:0.01169 Z:0.01169 }:0.01169 S:0.01168 a:0.01168 *:0.01168 ?:0.01167 9:0.01167 &:0.01166 =:0.01166 {:0.01165 2:0.01165 ~:0.01165 F:0.01165 6:0.01164 1:0.01163 ):0.01163 G:0.01163 e:0.01162 V:0.01162 v:0.01161 d:0.01161 7:0.01161 q:0.01161 _:0.0116 3:0.0116 L:0.0116 O:0.0116 b:0.0116 R:0.01159 4:0.01159 g:0.01159 k:0.01158 x:0.01158 W:0.01158 |:0.01158 f:0.01158 [:0.01158 P:0.01157 N:0.01157 0:0.01157 r:0.01156 o:0.01155 j:0.01155 ;:0.01155 H:0.01155 w:0.01153 +:0.01153 @:0.01153 t:0.01153 y:0.01152 8:0.01152 D:0.01151 p:0.01151 h:0.01149 #:0.01149 X:0.01148 K:0.01148 <:0.01146 Q:0.01146 (:0.01145 E:0.01144

m4[3]=msg[19]: #&()*+,-.1023456789:;~}=<|>?{A@zyBxCDwEFGvuHtIsrJqKLpoMnNlOPjQhRmSkTdYie^UaVX[fgW]b_cZ
m4[3]=msg[19]:  #:0.01844 &:0.01769 (:0.01689 ):0.01685 *:0.01645 +:0.0163 ,:0.01598 -:0.01574 .:0.01552 1:0.01499 0:0.01498 2:0.01459 3:0.01436 4:0.01417 5:0.01395 6:0.01379 7:0.01363 8:0.01322 9:0.01318 ::0.01308 ;:0.01276 ~:0.01258 }:0.01251 =:0.01245 <:0.01245 |:0.01229 >:0.01227 ?:0.01213 {:0.01199 A:0.01191 @:0.01189 z:0.01187 y:0.01158 B:0.01157 x:0.01143 C:0.01136 D:0.01136 w:0.01135 E:0.01113 F:0.01102 G:0.011 v:0.011 u:0.0109 H:0.01086 t:0.01079 I:0.0107 s:0.01056 r:0.01046 J:0.01032 q:0.01029 K:0.01023 L:0.01019 p:0.01016 o:0.01009 M:0.01008 n:0.01006 N:0.01002 l:0.009982 O:0.009972 P:0.009899 j:0.009887 Q:0.009874 h:0.009829 R:0.009828 m:0.009757 S:0.009742 k:0.009737 T:0.009673 d:0.009636 Y:0.009631 i:0.009618 e:0.009609 ^:0.009608 U:0.009607 a:0.009603 V:0.009602 X:0.009601 [:0.009592 f:0.00958 g:0.009578 W:0.009574 ]:0.009566 b:0.009563 _:0.009541 c:0.009536 Z:0.009371

m5[0]=msg[20]: '
m5[0]=msg[20]:  ':1

m5[1]=msg[21]: #
m5[1]=msg[21]:  #:1

m5[2]=msg[22]: 248Ei#<dFI=a&,)?{^ABjY6:ch.1;G|zq*-5e9UDx7+>TSOPZtJ]3RN}yL_l(uMvHgnoXkm[CWbVK@wfs~0Qrp
m5[2]=msg[22]:  2:0.01271 4:0.0127 8:0.01245 E:0.01237 i:0.01236 #:0.01236 <:0.01229 d:0.01227 F:0.01226 I:0.0122 =:0.01218 a:0.01214 &:0.01212 ,:0.0121 ):0.01208 ?:0.01207 {:0.01206 ^:0.01205 A:0.012 B:0.012 j:0.01198 Y:0.01198 6:0.01196 ::0.01194 c:0.01193 h:0.01192 .:0.01192 1:0.01189 ;:0.01188 G:0.01187 |:0.01183 z:0.01181 q:0.0118 *:0.0118 -:0.0118 5:0.01179 e:0.01177 9:0.01177 U:0.01174 D:0.01174 x:0.01173 7:0.0117 +:0.01167 >:0.01165 T:0.01164 S:0.01163 O:0.0116 P:0.01158 Z:0.01158 t:0.01157 J:0.01151 ]:0.0115 3:0.01148 R:0.01147 N:0.01145 }:0.01145 y:0.01144 L:0.01142 _:0.0114 l:0.01139 (:0.01138 u:0.01138 M:0.01134 v:0.01133 H:0.01133 g:0.01128 n:0.01127 o:0.01119 X:0.01118 k:0.01117 m:0.01114 [:0.01112 C:0.01111 W:0.01111 b:0.01111 V:0.0111 K:0.01101 @:0.01099 w:0.01098 f:0.01098 s:0.01087 ~:0.01076 0:0.01069 Q:0.01066 r:0.01055 p:0.01026

m5[3]=msg[23]: =<L>,?^;.5-V7:[fH}YNX6IMhJC&z]9ExOZpWlF04yT1K+~m*vs2)wk@gPG|b(t8_UAcrednqoDaBji3#{RQuS
m5[3]=msg[23]:  =:0.01273 <:0.01263 L:0.0126 >:0.0126 ,:0.01258 ?:0.01247 ^:0.01245 ;:0.01243 .:0.0124 5:0.01237 -:0.01235 V:0.01234 7:0.01233 ::0.01232 [:0.01226 f:0.01224 H:0.01221 }:0.0122 Y:0.01217 N:0.01215 X:0.01214 6:0.01212 I:0.01206 M:0.01202 h:0.01201 J:0.012 C:0.012 &:0.01199 z:0.0119 ]:0.01188 9:0.01188 E:0.01187 x:0.01187 O:0.01185 Z:0.01179 p:0.01178 W:0.01178 l:0.01177 F:0.01171 0:0.01168 4:0.01164 y:0.01164 T:0.01163 1:0.0116 K:0.01159 +:0.01158 ~:0.01156 m:0.01155 *:0.01154 v:0.01151 s:0.0115 2:0.01148 ):0.01147 w:0.01146 k:0.01146 @:0.01144 g:0.01133 P:0.01132 G:0.01132 |:0.01128 b:0.01124 (:0.0112 t:0.01119 8:0.01119 _:0.01116 U:0.01112 A:0.01111 c:0.01105 r:0.01104 e:0.01104 d:0.01096 n:0.01093 q:0.01093 o:0.0109 D:0.01086 a:0.01086 B:0.01084 j:0.01084 i:0.01082 3:0.0108 #:0.01078 {:0.01077 R:0.01072 Q:0.01071 u:0.01059 S:0.01054

m6[0]=msg[24]: ^ZbV_c[#R&fWg]jNOYSaU*kQJ+.enMXF)dKiToP3r(2ImsG-ELlh,q6Bpv1w7H0C4tAuz:{D5;9y8x<@|=
m6[0]=msg[24]:  ^:0.03641 Z:0.03329 b:0.03201 V:0.03073 _:0.02896 c:0.02656 [:0.02616 #:0.02537 R:0.02528 &:0.0247 f:0.02468 W:0.02467 g:0.02282 ]:0.02167 j:0.02164 N:0.02141 O:0.02061 Y:0.02049 S:0.02033 a:0.01977 U:0.01921 *:0.0187 k:0.01803 Q:0.0171 J:0.01653 +:0.01612 .:0.01526 e:0.01452 n:0.01445 M:0.0142 X:0.01281 F:0.01255 ):0.01242 d:0.01209 K:0.0114 i:0.01131 T:0.01126 o:0.01106 P:0.01051 3:0.01008 r:0.01005 (:0.009986 2:0.009751 I:0.009477 m:0.009378 s:0.009084 G:0.009003 -:0.008909 E:0.007861 L:0.007832 l:0.007728 h:0.007354 ,:0.006627 q:0.006526 6:0.006508 B:0.006234 p:0.006094 v:0.005634 1:0.005127 w:0.004993 7:0.004702 H:0.004654 0:0.004414 C:0.004325 4:0.004064 t:0.003713 A:0.003529 u:0.003417 z:0.002954 ::0.002924 {:0.002799 D:0.00267 5:0.002517 ;:0.002468 9:0.001992 y:0.001853 8:0.001811 x:0.001288 <:0.001199 @:0.0007944 |:0.0005445 =:4.196e-05

m6[1]=msg[25]: jlrfskcmtehabq[oxzid_ungZ^Wvw|XT]yp{SUV~R}YQPMNLOJKIGHDFBCEA@:?7=;<9>18645032.&)(-+,*#
m6[1]=msg[25]:  j:0.02114 l:0.02108 r:0.01953 f:0.01919 s:0.01904 k:0.01901 c:0.01878 m:0.01873 t:0.01828 e:0.01813 h:0.01812 a:0.0181 b:0.01804 q:0.01793 [:0.01746 o:0.01731 x:0.01698 z:0.01661 i:0.0165 d:0.0165 _:0.0164 u:0.01626 n:0.01614 g:0.01602 Z:0.01592 ^:0.01591 W:0.01589 v:0.01575 w:0.01564 |:0.01561 X:0.01559 T:0.01549 ]:0.01545 y:0.01543 p:0.01532 {:0.0153 S:0.01513 U:0.01466 V:0.01453 ~:0.01453 R:0.01446 }:0.01436 Y:0.01412 Q:0.01365 P:0.01334 M:0.01264 N:0.01252 L:0.01246 O:0.01209 J:0.01176 K:0.0112 I:0.01039 G:0.009196 H:0.00912 D:0.008595 F:0.008313 B:0.00811 C:0.008101 E:0.008048 A:0.007544 @:0.006771 ::0.006058 ?:0.005937 7:0.005609 =:0.005576 ;:0.005458 <:0.005393 9:0.004886 >:0.004872 1:0.004725 8:0.004675 6:0.004449 4:0.004292 5:0.003954 0:0.003797 3:0.003478 2:0.003434 .:0.002412 &:0.002387 ):0.002282 (:0.00222 -:0.002167 +:0.002064 ,:0.001908 *:0.001885 #:0.001834

m6[2]=msg[26]: y}qY]uxz|XaZe~r^ptibQ{vwmUd[fjh_nVTPsRoWlcgkSO)#&(*-+,.N1042
m6[2]=msg[26]:  y:0.04475 }:0.04271 q:0.03868 Y:0.03814 ]:0.03379 u:0.03366 x:0.03068 z:0.02976 |:0.02958 X:0.02882 a:0.02866 Z:0.02839 e:0.02811 ~:0.02678 r:0.02486 ^:0.02421 p:0.02386 t:0.02288 i:0.0227 b:0.02161 Q:0.02041 {:0.02002 v:0.01978 w:0.0196 m:0.0194 U:0.01934 d:0.01876 [:0.01746 f:0.01741 j:0.01641 h:0.01606 _:0.01543 n:0.01477 V:0.01446 T:0.01441 P:0.0139 s:0.01345 R:0.01333 o:0.01242 W:0.01227 l:0.01217 c:0.01203 g:0.01066 k:0.01043 S:0.008435 O:0.004775 ):0.001826 #:0.001511 &:0.00144 (:0.00139 *:0.0008492 -:0.0008092 +:0.0006561 ,:0.0003858 .:0.000258 N:0.0002546 1:0.0001922 0:0.0001473 4:4.911e-05 2:2.956e-05

m6[3]=msg[27]: <;qo^?*mpn}sbJw2KlL]xi-z:t3U{P=ZMB~+jTN[kQ1R@_y5,O0)ID|r#v>9S.ec&7XAuFWYG8hf6dgC4V(aEH
m6[3]=msg[27]:  <:0.01563 ;:0.01447 q:0.01409 o:0.01355 ^:0.01337 ?:0.01325 *:0.01316 m:0.01313 p:0.01311 n:0.01303 }:0.013 s:0.0129 b:0.01282 J:0.01277 w:0.01266 2:0.01265 K:0.01264 l:0.01263 L:0.01262 ]:0.01251 x:0.01246 i:0.01243 -:0.01232 z:0.01224 ::0.01221 t:0.0122 3:0.01214 U:0.01213 {:0.01213 P:0.01208 =:0.01203 Z:0.01198 M:0.01198 B:0.01195 ~:0.01189 +:0.01185 j:0.01184 T:0.01182 N:0.01181 [:0.01179 k:0.01177 Q:0.01177 1:0.01167 R:0.01163 @:0.01161 _:0.01158 y:0.01157 5:0.0115 ,:0.01139 O:0.01138 0:0.01135 ):0.01126 I:0.01121 D:0.01117 |:0.01101 r:0.01099 #:0.01098 v:0.01095 >:0.01095 9:0.01091 S:0.0109 .:0.01089 e:0.01085 c:0.01085 &:0.01082 7:0.01081 X:0.01076 A:0.01072 u:0.01068 F:0.01067 W:0.0106 Y:0.01059 G:0.01059 8:0.01054 h:0.01047 f:0.01042 6:0.01037 d:0.01017 g:0.01007 C:0.01003 4:0.009823 V:0.009506 (:0.009361 a:0.009298 E:0.009289 H:0.009001

m10[0]=msg[40]: xCB)A>Pn,Mfcq-(6j=aeE.s]9;3VRTl&8Q*zutLyNXZgDw<iYHFdO?}#~01:IJUm4+|_S2r^po[kb7hG5@v{KW
m10[0]=msg[40]:  x:0.01218 C:0.01207 B:0.01198 ):0.01195 A:0.01192 >:0.0119 P:0.01188 n:0.01187 ,:0.01186 M:0.01186 f:0.01184 c:0.01183 q:0.01183 -:0.01183 (:0.01182 6:0.01182 j:0.01182 =:0.01182 a:0.01181 e:0.01181 E:0.01179 .:0.01179 s:0.01177 ]:0.01175 9:0.01173 ;:0.01173 3:0.01173 V:0.01171 R:0.0117 T:0.01169 l:0.01168 &:0.01168 8:0.01167 Q:0.01167 *:0.01166 z:0.01165 u:0.01165 t:0.01165 L:0.01165 y:0.01165 N:0.01164 X:0.01164 Z:0.01163 g:0.01163 D:0.01163 w:0.01163 <:0.01162 i:0.01162 Y:0.01161 H:0.01161 F:0.0116 d:0.0116 O:0.0116 ?:0.0116 }:0.01157 #:0.01156 ~:0.01156 0:0.01155 1:0.01155 ::0.01152 I:0.01151 J:0.0115 U:0.0115 m:0.01148 4:0.01147 +:0.01147 |:0.01147 _:0.01145 S:0.01145 2:0.01145 r:0.01143 ^:0.01143 p:0.01142 o:0.01142 [:0.01142 k:0.0114 b:0.01139 7:0.01139 h:0.01137 G:0.01135 5:0.01132 @:0.01131 v:0.01129 {:0.01127 K:0.01124 W:0.01119

m10[1]=msg[41]: ,t|L4ldTDS<3#cK[k;{sC+Uum5-=]}EeMrzJjb2R*:ZB.Vfv6&~FN>n^1yqI)9YiAQaGpwgOx7?_oW@8H0PhX(
m10[1]=msg[41]:  ,:0.01577 t:0.01576 |:0.01564 L:0.0155 4:0.01547 l:0.01545 d:0.01543 T:0.01538 D:0.01535 S:0.01532 <:0.0153 3:0.01529 #:0.01524 c:0.01518 K:0.01511 [:0.01511 k:0.0151 ;:0.01508 {:0.015 s:0.01498 C:0.01492 +:0.01473 U:0.01355 u:0.01354 m:0.01352 5:0.0135 -:0.01347 =:0.01346 ]:0.01333 }:0.01332 E:0.01326 e:0.01323 M:0.0132 r:0.01297 z:0.01293 J:0.01277 j:0.01272 b:0.01262 2:0.01258 R:0.01246 *:0.01245 ::0.01233 Z:0.01222 B:0.01203 .:0.01084 V:0.01068 f:0.01063 v:0.01055 6:0.0105 &:0.01048 ~:0.01048 F:0.01044 N:0.01033 >:0.01032 n:0.01029 ^:0.01025 1:0.009663 y:0.009593 q:0.009524 I:0.00952 ):0.009492 9:0.009479 Y:0.009474 i:0.009446 A:0.009403 Q:0.009294 a:0.009235 G:0.00801 p:0.008008 w:0.008005 g:0.007992 O:0.007975 x:0.007947 7:0.007947 ?:0.007936 _:0.007936 o:0.007869 W:0.007854 @:0.007756 8:0.007739 H:0.007714 0:0.007683 P:0.007653 h:0.007506 X:0.007479 (:0.007476

m10[2]=msg[42]: *+;:)K9,Jjz[Z<lki{(8IYLy|-X=}HMh.x7]mG>w~gWnN&^6V?FvfOo_50E@UePpu41#tTDQaqA3dR2SbcrBsC
m10[2]=msg[42]:  *:0.01659 +:0.01642 ;:0.0163 ::0.0159 ):0.01586 K:0.01584 9:0.01575 ,:0.01573 J:0.01551 j:0.01526 z:0.01509 [:0.01499 Z:0.01499 <:0.01497 l:0.01494 k:0.0149 i:0.01486 {:0.01486 (:0.01484 8:0.01477 I:0.01476 Y:0.01465 L:0.01462 y:0.01453 |:0.01444 -:0.01438 X:0.01389 =:0.01369 }:0.01368 H:0.01351 M:0.01342 h:0.01324 .:0.01312 x:0.01311 7:0.01306 ]:0.01281 m:0.01277 G:0.01222 >:0.0122 w:0.01199 ~:0.01197 g:0.01197 W:0.01188 n:0.01187 N:0.01186 &:0.01176 ^:0.01166 6:0.01135 V:0.01072 ?:0.01071 F:0.01068 v:0.01057 f:0.01047 O:0.01047 o:0.01003 _:0.009928 5:0.009913 0:0.009789 E:0.009287 @:0.009249 U:0.009169 e:0.00899 P:0.00897 p:0.008727 u:0.008698 4:0.008658 1:0.008271 #:0.008222 t:0.007966 T:0.007965 D:0.007925 Q:0.007899 a:0.007791 q:0.007728 A:0.00771 3:0.007698 d:0.007663 R:0.007544 2:0.007513 S:0.007477 b:0.00732 c:0.007262 r:0.007213 B:0.007073 s:0.006995 C:0.006954

m10[3]=msg[43]: KLgb^AW(QT*}kqeO&YdSDJrcf,-;)6pHXIm<jUGu|R[.E@#B{x4Maow+?P50=9F_2Nh3li7:VzCts>~Zvn1]y8
m10[3]=msg[43]:  K:0.01202 L:0.01201 g:0.01197 b:0.01192 ^:0.01189 A:0.01189 W:0.01188 (:0.01186 Q:0.01185 T:0.01185 *:0.01185 }:0.01181 k:0.0118 q:0.01179 e:0.01178 O:0.01177 &:0.01176 Y:0.01175 d:0.01174 S:0.01174 D:0.01173 J:0.01172 r:0.01171 c:0.01171 f:0.01171 ,:0.0117 -:0.0117 ;:0.01169 ):0.01169 6:0.01169 p:0.01169 H:0.01168 X:0.01167 I:0.01167 m:0.01167 <:0.01167 j:0.01166 U:0.01166 G:0.01165 u:0.01164 |:0.01163 R:0.01162 [:0.01162 .:0.01162 E:0.01161 @:0.01161 #:0.0116 B:0.0116 {:0.01159 x:0.01158 4:0.01158 M:0.01157 a:0.01157 o:0.01156 w:0.01156 +:0.01156 ?:0.01156 P:0.01155 5:0.01155 0:0.01154 =:0.01154 9:0.01154 F:0.01154 _:0.01154 2:0.01151 N:0.01151 h:0.01151 3:0.0115 l:0.01149 i:0.01149 7:0.01148 ::0.01148 V:0.01144 z:0.01144 C:0.01144 t:0.01143 s:0.01142 >:0.01141 ~:0.0114 Z:0.01139 v:0.01139 n:0.01139 1:0.01139 ]:0.01135 y:0.01134 8:0.0113

m11[0]=msg[44]: fPY#)kTU^R]rj*-5E7l4eS(93QV2q[pWZi01@&b;+NxagLvtsM_wmO>d6h}CcFyo:J{X<KnAzDI.=H?G,u8B|~
m11[0]=msg[44]:  f:0.01463 P:0.01425 Y:0.01381 #:0.01378 ):0.01336 k:0.013 T:0.01292 U:0.01278 ^:0.01276 R:0.01272 ]:0.01265 r:0.01261 j:0.01255 *:0.0125 -:0.01244 5:0.01243 E:0.01239 7:0.01233 l:0.01232 4:0.01231 e:0.01222 S:0.01217 (:0.01216 9:0.01206 3:0.01204 Q:0.012 V:0.01198 2:0.01195 q:0.01193 [:0.01193 p:0.0119 W:0.0119 Z:0.01189 i:0.01186 0:0.01186 1:0.01184 @:0.0118 &:0.0118 b:0.01173 ;:0.01162 +:0.01158 N:0.01152 x:0.01151 a:0.0115 g:0.0115 L:0.0115 v:0.01149 t:0.01145 s:0.01143 M:0.0114 _:0.01138 w:0.01135 m:0.01135 O:0.01134 >:0.01127 d:0.01125 6:0.01123 h:0.0112 }:0.01119 C:0.01114 c:0.01112 F:0.01111 y:0.0111 o:0.01109 ::0.01108 J:0.01106 {:0.01105 X:0.01104 <:0.01077 K:0.01075 n:0.01075 A:0.01061 z:0.0106 D:0.01059 I:0.01058 .:0.01058 =:0.01052 H:0.01046 ?:0.01043 G:0.01031 ,:0.01019 u:0.01011 8:0.01006 B:0.01002 |:0.009758 ~:0.009491

m11[1]=msg[45]: NRMBZ:UFA>.-Q=J*E6e#59Vj^ryd)&+4z]1?nbiY}C~W@;23mLvIKf[o7SqXPHO{T0D<agGcxps8,l_(|kuhwt
m11[1]=msg[45]:  N:0.01566 R:0.01545 M:0.01536 B:0.01509 Z:0.01422 ::0.01373 U:0.01358 F:0.01355 A:0.01354 >:0.01347 .:0.01329 -:0.01328 Q:0.01322 =:0.01316 J:0.0131 *:0.01299 E:0.01293 6:0.01284 e:0.01277 #:0.01272 5:0.01271 9:0.01268 V:0.0126 j:0.01244 ^:0.01243 r:0.01241 y:0.01231 d:0.01231 ):0.01225 &:0.01225 +:0.01219 4:0.01218 z:0.01211 ]:0.01209 1:0.01206 ?:0.01195 n:0.01191 b:0.01183 i:0.0118 Y:0.01176 }:0.01176 C:0.01174 ~:0.01165 W:0.01157 @:0.01155 ;:0.01155 2:0.01146 3:0.01145 m:0.01135 L:0.01128 v:0.01127 I:0.01125 K:0.01125 f:0.01114 [:0.01114 o:0.01111 7:0.01111 S:0.011 q:0.01086 X:0.01085 P:0.01069 H:0.01062 O:0.0106 {:0.01055 T:0.01053 0:0.01047 D:0.0104 <:0.01034 a:0.0103 g:0.01017 G:0.01016 c:0.01015 x:0.01005 p:0.01003 s:0.009864 8:0.009659 ,:0.009646 l:0.009492 _:0.009492 (:0.009371 |:0.009282 k:0.00925 u:0.009041 h:0.008914 w:0.008454 t:0.007912

m11[2]=msg[46]: .501)a9#=UI,7DH*CQ(-3n<;&NM?:TAE64KljL@>oeO8V[XSWksc+JGiw2rFPbgYmvBh|pztR}^]Z{y_udqf~x
m11[2]=msg[46]:  .:0.01488 5:0.01463 0:0.01456 1:0.01447 ):0.01432 a:0.01407 9:0.01387 #:0.01351 =:0.01338 U:0.0133 I:0.01322 ,:0.01316 7:0.01315 D:0.01313 H:0.0131 *:0.01309 C:0.01302 Q:0.01291 (:0.01289 -:0.01282 3:0.01277 n:0.01276 <:0.01274 ;:0.01274 &:0.01257 N:0.01251 M:0.01247 ?:0.01245 ::0.0123 T:0.0122 A:0.01214 E:0.01192 6:0.01185 4:0.01182 K:0.01179 l:0.01174 j:0.0117 L:0.01165 @:0.01162 >:0.01161 o:0.0116 e:0.01159 O:0.01157 8:0.0115 V:0.01142 [:0.01134 X:0.01128 S:0.01126 W:0.01124 k:0.0112 s:0.01119 c:0.01117 +:0.01117 J:0.01117 G:0.01115 i:0.01107 w:0.01103 2:0.01099 r:0.01091 F:0.01086 P:0.01078 b:0.01077 g:0.01074 Y:0.01062 m:0.01059 v:0.01056 B:0.01047 h:0.01038 |:0.01032 p:0.0103 z:0.01023 t:0.01021 R:0.01019 }:0.01019 ^:0.01015 ]:0.01011 Z:0.009856 {:0.009804 y:0.009766 _:0.009714 u:0.009654 d:0.009589 q:0.009106 f:0.00905 ~:0.008785 x:0.008558

m11[3]=msg[47]: &bGFSh,ydIrB+*?mCDn5L)l6aE(@iuJ#HwAz}NU-Kf3_QpXOVsY<{c7^RgPZj~|02k.9;TW]tq48M>vo[ex:1=
m11[3]=msg[47]:  &:0.01376 b:0.01367 G:0.01366 F:0.01354 S:0.0135 h:0.0133 ,:0.01321 y:0.01305 d:0.01305 I:0.01305 r:0.01304 B:0.01286 +:0.01281 *:0.01281 ?:0.0128 m:0.01275 C:0.01268 D:0.01268 n:0.01256 5:0.0125 L:0.01242 ):0.01238 l:0.0123 6:0.01226 a:0.01225 E:0.01212 (:0.0121 @:0.01202 i:0.01201 u:0.012 J:0.01198 #:0.01198 H:0.01197 w:0.01188 A:0.01187 z:0.01183 }:0.0118 N:0.01178 U:0.01175 -:0.01171 K:0.01171 f:0.01169 3:0.01167 _:0.01148 Q:0.01148 p:0.01147 X:0.01145 O:0.01144 V:0.01139 s:0.01133 Y:0.01132 <:0.01128 {:0.01127 c:0.01125 7:0.01122 ^:0.01121 R:0.01115 g:0.01109 P:0.01102 Z:0.011 j:0.01099 ~:0.01094 |:0.01087 0:0.01084 2:0.01081 k:0.0108 .:0.01079 9:0.01079 ;:0.01078 T:0.0107 W:0.01069 ]:0.01066 t:0.01065 q:0.01061 4:0.01057 8:0.01052 M:0.01052 >:0.01036 v:0.01029 o:0.01022 [:0.01022 e:0.009903 x:0.009857 ::0.009793 1:0.009361 =:0.008853

m12[0]=msg[48]: {-p;w^.uzJ~E[GD2Q+?g3&O1*,s#9vK@ayFlm<UIZ=ho5C4X}qbn|tS]>crk(ATeRL08YMdP_j:6Bf)NVxHi7W
m12[0]=msg[48]:  {:0.01423 -:0.01347 p:0.01321 ;:0.0132 w:0.01309 ^:0.01303 .:0.01299 u:0.01299 z:0.01293 J:0.01291 ~:0.01273 E:0.01271 [:0.01271 G:0.01269 D:0.01265 2:0.01264 Q:0.01262 +:0.01259 ?:0.0125 g:0.01249 3:0.01245 &:0.01244 O:0.01242 1:0.01238 *:0.01235 ,:0.01228 s:0.01216 #:0.01215 9:0.01208 v:0.01202 K:0.01197 @:0.01183 a:0.01183 y:0.01181 F:0.01179 l:0.01179 m:0.01178 <:0.01169 U:0.01169 I:0.01169 Z:0.01163 =:0.01162 h:0.01159 o:0.01158 5:0.01153 C:0.01152 4:0.01151 X:0.01149 }:0.01149 q:0.01147 b:0.01146 n:0.01145 |:0.01144 t:0.01144 S:0.01134 ]:0.01129 >:0.01119 c:0.01117 r:0.01115 k:0.01114 (:0.01104 A:0.01102 T:0.01091 e:0.01091 R:0.01089 L:0.01086 0:0.01083 8:0.0107 Y:0.01069 M:0.01068 d:0.01068 P:0.01068 _:0.01062 j:0.01044 ::0.01042 6:0.01042 B:0.01038 f:0.01028 ):0.0102 N:0.01018 V:0.01015 x:0.01005 H:0.01 i:0.009921 7:0.009838 W:0.009737

m12[1]=msg[49]: CAq]3p}~@dh=56z*fFBnyw;PTN8a&j+)k4l|0xR#EW(bIt_?2gOuS[-V9HJ1D:7^ovU.esir<{McL>GK,QmYZX
m12[1]=msg[49]:  C:0.01368 A:0.01358 q:0.01356 ]:0.01334 3:0.0133 p:0.01326 }:0.01322 ~:0.01311 @:0.01308 d:0.01305 h:0.013 =:0.01299 5:0.01294 6:0.01293 z:0.01289 *:0.01288 f:0.01272 F:0.0125 B:0.01242 n:0.01241 y:0.0124 w:0.01231 ;:0.01229 P:0.01221 T:0.0122 N:0.01213 8:0.01204 a:0.01202 &:0.012 j:0.01197 +:0.01197 ):0.01196 k:0.01195 4:0.01191 l:0.0119 |:0.01188 0:0.01187 x:0.01184 R:0.01181 #:0.01178 E:0.01177 W:0.01168 (:0.01154 b:0.01153 I:0.01151 t:0.01144 _:0.01136 ?:0.01135 2:0.01135 g:0.01134 O:0.01134 u:0.01132 S:0.01128 [:0.01126 -:0.01126 V:0.01123 9:0.01121 H:0.01115 J:0.01112 1:0.01108 D:0.01106 ::0.01101 7:0.01101 ^:0.01096 o:0.01088 v:0.01085 U:0.01085 .:0.01084 e:0.01083 s:0.01075 i:0.01065 r:0.01063 <:0.01058 {:0.01058 M:0.01058 c:0.01056 L:0.01054 >:0.01035 G:0.0103 K:0.01026 ,:0.0101 Q:0.01003 m:0.00974 Y:0.00945 Z:0.009137 X:0.009034

m12[2]=msg[50]: {XvcrYlsMz[eZHJ_wSjVp5gb1Rh8ku|#qa(^K~P=@mOynCt:d7)Ii&L?},GN.>WFof4D90*T2+U];<xQA6-B3E
m12[2]=msg[50]:  {:0.01389 X:0.01356 v:0.01355 c:0.01339 r:0.01337 Y:0.0131 l:0.01309 s:0.01308 M:0.01303 z:0.01302 [:0.01299 e:0.01297 Z:0.01291 H:0.0129 J:0.01279 _:0.01272 w:0.01269 S:0.01265 j:0.01263 V:0.01256 p:0.01248 5:0.01245 g:0.01244 b:0.01239 1:0.01237 R:0.01236 h:0.01233 8:0.01233 k:0.01221 u:0.01218 |:0.01197 #:0.01194 q:0.01193 a:0.01186 (:0.01185 ^:0.01185 K:0.01184 ~:0.01182 P:0.01177 =:0.01176 @:0.01173 m:0.01166 O:0.01164 y:0.01163 n:0.0116 C:0.01158 t:0.01158 ::0.01155 d:0.01155 7:0.01146 ):0.01145 I:0.01143 i:0.01143 &:0.01141 L:0.01138 ?:0.01133 }:0.01127 ,:0.01126 G:0.01115 N:0.01109 .:0.01105 >:0.01096 W:0.01089 F:0.01084 o:0.0108 f:0.01072 4:0.01066 D:0.01063 9:0.01062 0:0.01058 *:0.01056 T:0.01049 2:0.01045 +:0.01042 U:0.01035 ]:0.01025 ;:0.01023 <:0.01018 x:0.01007 Q:0.009793 A:0.009782 6:0.00978 -:0.009655 B:0.009577 3:0.009457 E:0.008996

m12[3]=msg[51]: D;gI[20rEf<O59zSoim,8KH(uF_1nRyQ~Ca#kB&.AMt+|:)ce4qW{P*s=L-Vhp6}]l@jXvZ?^7bNUG3J>TxdYw
m12[3]=msg[51]:  D:0.01447 ;:0.01357 g:0.01338 I:0.01323 [:0.01309 2:0.01294 0:0.01292 r:0.01291 E:0.01289 f:0.0128 <:0.01275 O:0.01272 5:0.01271 9:0.01262 z:0.01256 S:0.01242 o:0.01242 i:0.01242 m:0.01239 ,:0.01233 8:0.01227 K:0.0122 H:0.0122 (:0.01219 u:0.01213 F:0.01212 _:0.01206 1:0.01201 n:0.012 R:0.01198 y:0.01195 Q:0.01194 ~:0.01189 C:0.01188 a:0.01188 #:0.01188 k:0.01182 B:0.0118 &:0.01176 .:0.01171 A:0.01168 M:0.01156 t:0.01155 +:0.0115 |:0.01146 ::0.01141 ):0.0114 c:0.01136 e:0.01132 4:0.01132 q:0.0113 W:0.01129 {:0.01123 P:0.01123 *:0.01121 s:0.0112 =:0.01119 L:0.01116 -:0.01116 V:0.01114 h:0.01108 p:0.01108 6:0.01107 }:0.01096 ]:0.01095 l:0.01093 @:0.01092 j:0.01085 X:0.01084 v:0.01081 Z:0.01076 ?:0.01067 ^:0.0106 7:0.01058 b:0.01055 N:0.01051 U:0.01044 G:0.01043 3:0.01042 J:0.01041 >:0.01037 T:0.01034 x:0.01031 d:0.01019 Y:0.01014 w:0.009959

m13[0]=msg[52]: im-lkng+j*1),e.p(th&fscow420qbur6a#3d7v85x_:y{]~9=z;^<|@[>X}YA?CWZBVURFDGTESHQIJPONKML
m13[0]=msg[52]:  i:0.02147 m:0.02144 -:0.0213 l:0.02082 k:0.02072 n:0.01982 g:0.0189 +:0.01861 j:0.01842 *:0.0183 1:0.0183 ):0.01828 ,:0.01814 e:0.01813 .:0.01809 p:0.01771 (:0.01767 t:0.01758 h:0.01751 &:0.01745 f:0.01716 s:0.01692 c:0.0169 o:0.01657 w:0.01654 4:0.01592 2:0.01588 0:0.01587 q:0.01553 b:0.01548 u:0.01517 r:0.01516 6:0.01481 a:0.0146 #:0.01406 3:0.01401 d:0.01367 7:0.01349 v:0.01326 8:0.01281 5:0.01262 x:0.01233 _:0.01197 ::0.01182 y:0.01171 {:0.01115 ]:0.01098 ~:0.01068 9:0.01066 =:0.01042 z:0.0102 ;:0.0101 ^:0.01007 <:0.009985 |:0.009764 @:0.009093 [:0.008769 >:0.008466 X:0.008155 }:0.007917 Y:0.007401 A:0.007195 ?:0.006981 C:0.006956 W:0.006852 Z:0.006732 B:0.006574 V:0.005794 U:0.005086 R:0.004825 F:0.004693 D:0.004669 G:0.004621 T:0.004598 E:0.00447 S:0.004389 H:0.003233 Q:0.003098 I:0.002727 J:0.001832 P:0.001692 O:0.001609 N:0.001485 K:0.001438 M:0.0008841 L:0.0008507

m13[1]=msg[53]: &.HpL>r<AGzg50NIQ8UFWZ_6,;h+Ji7j[:bl^(2ORv91)4Mu#dfe?@Do]*~|ycqEwVTS-3X{x=s}nkmYtBKCPa
m13[1]=msg[53]:  &:0.01589 .:0.01439 H:0.01414 p:0.01342 L:0.01334 >:0.01327 r:0.01325 <:0.01302 A:0.01296 G:0.01281 z:0.01277 g:0.01272 5:0.01272 0:0.0127 N:0.01266 I:0.01252 Q:0.01251 8:0.0125 U:0.01249 F:0.01244 W:0.01244 Z:0.01239 _:0.01236 6:0.01227 ,:0.01221 ;:0.0122 h:0.01219 +:0.01217 J:0.01211 i:0.01209 7:0.01209 j:0.01208 [:0.01201 ::0.01199 b:0.01197 l:0.01196 ^:0.01191 (:0.01175 2:0.01173 O:0.01167 R:0.01165 v:0.01164 9:0.01164 1:0.01154 ):0.01151 4:0.01148 M:0.01144 u:0.01141 #:0.01136 d:0.01134 f:0.0113 e:0.01127 ?:0.01123 @:0.01121 D:0.01119 o:0.01117 ]:0.01117 *:0.01115 ~:0.01112 |:0.0111 y:0.01099 c:0.01098 q:0.01091 E:0.01086 w:0.01083 V:0.01076 T:0.01074 S:0.0107 -:0.01057 3:0.01054 X:0.01051 {:0.01045 x:0.01037 =:0.01033 s:0.01029 }:0.01029 n:0.01029 k:0.01026 m:0.01019 Y:0.01013 t:0.009974 B:0.009874 K:0.009825 C:0.009727 P:0.009531 a:0.009093

m13[2]=msg[54]: #&()*+,-.0123456879:;<=@>?ABCED
m13[2]=msg[54]:  #:0.1525 &:0.1153 (:0.09889 ):0.0898 *:0.07915 +:0.06897 ,:0.05981 -:0.04714 .:0.04032 0:0.03408 1:0.02989 2:0.02696 3:0.02194 4:0.02097 5:0.01762 6:0.01559 8:0.01414 7:0.01413 9:0.01106 ::0.008657 ;:0.007766 <:0.00533 =:0.005288 @:0.003083 >:0.002968 ?:0.002621 A:0.002099 B:0.001654 C:0.001418 E:0.0004492 D:0.0003715

m13[3]=msg[55]: h(X8pP0H@_xI?AQ)wi1Y9G7aOWgqyo.vV^>NR*f6&~FJZzBr:jn2bm+SK;UEku]-3ces={M[5}#C
m13[3]=msg[55]:  h:0.02548 (:0.02461 X:0.02441 8:0.02381 p:0.02354 P:0.02291 0:0.02262 H:0.02215 @:0.02193 _:0.02129 x:0.02028 I:0.01921 ?:0.01909 A:0.0187 Q:0.01856 ):0.01851 w:0.01826 i:0.01818 1:0.01794 Y:0.01759 9:0.01744 G:0.01741 7:0.01724 a:0.01705 O:0.01703 W:0.01695 g:0.01689 q:0.01683 y:0.01626 o:0.01578 .:0.01458 v:0.01308 V:0.01305 ^:0.01297 >:0.01274 N:0.01265 R:0.0125 *:0.0122 f:0.01211 6:0.01209 &:0.01191 ~:0.01189 F:0.01186 J:0.01185 Z:0.01169 z:0.01163 B:0.01154 r:0.01147 ::0.01141 j:0.01118 n:0.01106 2:0.01075 b:0.01017 m:0.007107 +:0.006857 S:0.00682 K:0.006559 ;:0.006445 U:0.006433 E:0.006339 k:0.00614 u:0.005909 ]:0.005907 -:0.005805 3:0.005776 c:0.005756 e:0.005721 s:0.005704 =:0.005586 {:0.005448 M:0.005416 [:0.005404 5:0.0054 }:0.005355 #:0.004936 C:0.004824

m14[0]=msg[56]: s3w7r2v6tx84qu15
m14[0]=msg[56]:  s:0.1231 3:0.1153 w:0.1106 7:0.1094 r:0.08805 2:0.07447 v:0.0727 6:0.06843 t:0.05228 x:0.05176 8:0.04868 4:0.04543 q:0.01124 u:0.00998 1:0.009535 5:0.009023

m14[1]=msg[57]: zr[yaomuU#vW2MD,QkeC1tBs9qA)7N~(?l&nTXwi04+f=65g;@-J{RG:P]<c.YdO*ZFL8EjKS^|_3bp}HxVhI>
m14[1]=msg[57]:  z:0.01525 r:0.01465 [:0.01408 y:0.01363 a:0.01354 o:0.01353 m:0.01351 u:0.01335 U:0.01319 #:0.01307 v:0.0128 W:0.0128 2:0.01276 M:0.01273 D:0.0127 ,:0.01267 Q:0.01262 k:0.01257 e:0.01254 C:0.0125 1:0.01248 t:0.01241 B:0.01239 s:0.01238 9:0.01236 q:0.01236 A:0.01233 ):0.01232 7:0.01217 N:0.01216 ~:0.01216 (:0.01206 ?:0.01204 l:0.01202 &:0.01202 n:0.012 T:0.01198 X:0.01198 w:0.01195 i:0.01194 0:0.01184 4:0.0118 +:0.01175 f:0.01166 =:0.01152 6:0.01149 5:0.01148 g:0.01147 ;:0.01144 @:0.01139 -:0.01138 J:0.01138 {:0.01134 R:0.01127 G:0.01122 ::0.01118 P:0.01117 ]:0.01095 <:0.01094 c:0.01086 .:0.0108 Y:0.01079 d:0.01075 O:0.01072 *:0.01064 Z:0.01064 F:0.01053 L:0.0104 8:0.01038 E:0.01038 j:0.01028 K:0.01028 S:0.0102 ^:0.01016 |:0.0101 _:0.01009 3:0.01005 b:0.009987 p:0.00998 }:0.00995 H:0.009945 x:0.009885 V:0.009787 h:0.009326 I:0.009319 >:0.00911

m14[2]=msg[58]: 76w8uW45T3xXSUp2sfLMrH#t*DgoilRNjvVc9,YP(GEm0One+-.&JqkQFC1yhd)IbBKz:ZaA=}{;[@?~]<_|>^
m14[2]=msg[58]:  7:0.01823 6:0.01791 w:0.01776 8:0.01763 u:0.0169 W:0.01689 4:0.01653 5:0.0165 T:0.01634 3:0.01618 x:0.01617 X:0.01598 S:0.01588 U:0.01565 p:0.01562 2:0.01551 s:0.0153 f:0.01501 L:0.01489 M:0.01471 r:0.01459 H:0.01445 #:0.01423 t:0.01422 *:0.01418 D:0.01405 g:0.01399 o:0.01372 i:0.01369 l:0.01369 R:0.01366 N:0.01362 j:0.0136 v:0.0135 V:0.01347 c:0.01334 9:0.01326 ,:0.01312 Y:0.013 P:0.01296 (:0.01291 G:0.01282 E:0.01278 m:0.01276 0:0.01274 O:0.01269 n:0.01263 e:0.01253 +:0.01246 -:0.01238 .:0.01228 &:0.01213 J:0.01206 q:0.01202 k:0.01175 Q:0.01149 F:0.01133 C:0.01121 1:0.01116 y:0.0111 h:0.0108 d:0.01071 ):0.0107 I:0.01046 b:0.01034 B:0.01017 K:0.009981 z:0.007841 ::0.007315 Z:0.00573 a:0.005456 A:0.004974 =:0.004821 }:0.004303 {:0.00429 ;:0.004239 [:0.004234 @:0.004183 ?:0.00383 ~:0.003764 ]:0.00347 <:0.003396 _:0.003306 |:0.003048 >:0.002757 ^:0.002721

m14[3]=msg[59]: y2ia)k+#;{Q1Iqzs39CSAcZ(bJ*rjR0:[Y@hpKxB8PXH,L<4d|lDowN&vTWf-t_~=guG]F6.V57nm>?eEOMU}^
m14[3]=msg[59]:  y:0.02189 2:0.01986 i:0.01957 a:0.01926 ):0.01925 k:0.01904 +:0.01863 #:0.01831 ;:0.01829 {:0.01801 Q:0.01801 1:0.01787 I:0.01771 q:0.0177 z:0.0176 s:0.01759 3:0.01725 9:0.01703 C:0.01697 S:0.01686 A:0.01676 c:0.01676 Z:0.01673 (:0.01652 b:0.01641 J:0.0164 *:0.01627 r:0.01615 j:0.01577 R:0.01545 0:0.01538 ::0.01535 [:0.0153 Y:0.01489 @:0.01487 h:0.01477 p:0.01464 K:0.01457 x:0.0142 B:0.01363 8:0.01301 P:0.01263 X:0.01263 H:0.01149 ,:0.01067 L:0.009392 <:0.009222 4:0.009173 d:0.008873 |:0.008829 l:0.008802 D:0.008547 o:0.00801 w:0.007591 N:0.007245 &:0.007144 v:0.007041 T:0.006935 W:0.00681 f:0.00679 -:0.006735 t:0.006688 _:0.006489 ~:0.006432 =:0.006361 g:0.006348 u:0.006141 G:0.006067 ]:0.00564 F:0.005604 6:0.005534 .:0.00553 V:0.005528 5:0.005499 7:0.005296 n:0.005125 m:0.005013 >:0.004959 ?:0.004935 e:0.00487 E:0.004836 O:0.004669 M:0.00456 U:0.004554 }:0.004484 ^:0.003778

m15[0]=msg[60]: w73sSWr;x{68Oo+t?T_KVvR[k24X0:.pn<P,~*@J|zNjLZl^>
m15[0]=msg[60]:  w:0.04943 7:0.04669 3:0.04635 s:0.04431 S:0.04316 W:0.0409 r:0.02501 ;:0.02496 x:0.02462 {:0.02452 6:0.02442 8:0.02425 O:0.02372 o:0.02312 +:0.02308 t:0.02283 ?:0.02252 T:0.02241 _:0.02192 K:0.02191 V:0.02178 v:0.02113 R:0.02011 [:0.01993 k:0.0195 2:0.01904 4:0.01849 X:0.0181 0:0.01614 ::0.01474 .:0.01276 p:0.01252 n:0.01247 <:0.01225 P:0.01224 ,:0.01199 ~:0.01194 *:0.01165 @:0.01115 J:0.01094 |:0.01086 z:0.01075 N:0.01048 j:0.01038 L:0.01025 Z:0.01015 l:0.009867 ^:0.009282 >:0.008951

m15[1]=msg[61]: _4?FyLKb}JmuzdI-Di,=|O9Pfxlo2SaN8v3Z<rEjA^0QhVXtkH>CsTW.g@]Rw[#(c*U~Y)q75B:16GM&e;+{pn
m15[1]=msg[61]:  _:0.01588 4:0.01574 ?:0.01534 F:0.01508 y:0.01453 L:0.01411 K:0.01407 b:0.01406 }:0.01366 J:0.01346 m:0.01323 u:0.01306 z:0.01303 d:0.01285 I:0.01282 -:0.01281 D:0.0128 i:0.0127 ,:0.01268 =:0.01257 |:0.01249 O:0.01246 9:0.01245 P:0.01242 f:0.01241 x:0.01233 l:0.0123 o:0.0122 2:0.0122 S:0.01213 a:0.01212 N:0.0121 8:0.01209 v:0.012 3:0.01197 Z:0.01188 <:0.01188 r:0.01188 E:0.01186 j:0.01183 A:0.01175 ^:0.01171 0:0.0115 Q:0.0115 h:0.01146 V:0.01142 X:0.01142 t:0.01142 k:0.01142 H:0.01134 >:0.01133 C:0.01128 s:0.01125 T:0.01097 W:0.01093 .:0.01087 g:0.01078 @:0.01073 ]:0.01071 R:0.01064 w:0.01062 [:0.01061 #:0.01043 (:0.01037 c:0.01035 *:0.01032 U:0.01031 ~:0.01028 Y:0.01025 ):0.01021 q:0.01015 7:0.01015 5:0.01012 B:0.01001 ::0.009904 1:0.009903 6:0.009787 G:0.009786 M:0.009775 &:0.009604 e:0.009545 ;:0.009511 +:0.009287 {:0.009232 p:0.009174 n:0.008418

m15[2]=msg[62]: ]^[_aZYXbcd#WeVUTfgh&S<Q:R=}|~zA>;8@Pxy(?i9B{FwED67OCv)u5*N4tG+j3H0rs1p2MoJInq.kKm-L,l
m15[2]=msg[62]:  ]:0.04417 ^:0.04052 [:0.03932 _:0.03719 a:0.03704 Z:0.03582 Y:0.03414 X:0.03402 b:0.03049 c:0.02769 d:0.02505 #:0.02446 W:0.02446 e:0.02182 V:0.02146 U:0.0195 T:0.01825 f:0.01653 g:0.01627 h:0.01606 &:0.01592 S:0.01453 <:0.01452 Q:0.01308 ::0.01286 R:0.01266 =:0.01228 }:0.0122 |:0.01204 ~:0.01131 z:0.01115 A:0.01083 >:0.01049 ;:0.01046 8:0.01028 @:0.01021 P:0.0101 x:0.01003 y:0.009924 (:0.009841 ?:0.009482 i:0.009011 9:0.008759 B:0.008549 {:0.008101 F:0.008003 w:0.007864 E:0.007859 D:0.007771 6:0.007385 7:0.007223 O:0.0072 C:0.00712 v:0.006386 ):0.006069 u:0.005644 5:0.005497 *:0.005423 N:0.00506 4:0.005014 t:0.004957 G:0.004489 +:0.004226 j:0.003919 3:0.00349 H:0.003373 0:0.003228 r:0.002915 s:0.002656 1:0.002471 p:0.002269 2:0.002219 M:0.002199 o:0.002145 J:0.002049 I:0.002036 n:0.001729 q:0.001554 .:0.001254 k:0.001157 K:0.001154 m:0.001022 -:0.0004783 L:0.0003662 ,:0.0001316 l:0.0001059

m15[3]=msg[63]: (*hj,0t4.DrZdflx:b6|^vX8npRzL<@&>B~2PTHJFNV)e91IciO};-3qw7m[WSM=Eau_Ckg#Qy+5s?GY]AoU{K
m15[3]=msg[63]:  (:0.0225 *:0.02225 h:0.02118 j:0.02117 ,:0.02079 0:0.02078 t:0.02062 4:0.01995 .:0.01947 D:0.01925 r:0.01923 Z:0.0186 d:0.01836 f:0.01832 l:0.01828 x:0.01822 ::0.01815 b:0.018 6:0.01789 |:0.01786 ^:0.01783 v:0.01763 X:0.01757 8:0.01736 n:0.01726 p:0.01719 R:0.01702 z:0.017 L:0.01666 <:0.01662 @:0.01642 &:0.0163 >:0.0155 B:0.0154 ~:0.01537 2:0.01509 P:0.01482 T:0.0147 H:0.01406 J:0.01392 F:0.01384 N:0.01338 V:0.01253 ):0.007866 e:0.007836 9:0.007467 1:0.007364 I:0.007295 c:0.007096 i:0.007076 O:0.006984 }:0.006746 ;:0.006638 -:0.006633 3:0.006613 q:0.006492 w:0.006258 7:0.006233 m:0.006192 [:0.006136 W:0.006028 S:0.005968 M:0.005818 =:0.005785 E:0.005594 a:0.005548 u:0.005543 _:0.005397 C:0.005285 k:0.005275 g:0.005217 #:0.005202 Q:0.005177 y:0.004968 +:0.004965 5:0.004826 s:0.004817 ?:0.004767 G:0.004752 Y:0.004651 ]:0.00433 A:0.004184 o:0.004113 U:0.003722 {:0.0037 K:0.003096

Runtime: 225.2
Solutions stored in Q7Q24.bin.gz.
It's possible to try to control more bytes by editing this script and deleting Q7Q24.bin.gz.
ls: cannot access 'textcoll1_block1_[0-9]*.txt': No such file or directory
Starting search for first near-collision block in 10 seconds...
MD5 differential path textcollision solver
Copyright (C) 2024 Marc Stevens
http://homepages.cwi.nl/~stevens/

delta_m[5] = [!10!]
Q-3:    |........ ........ ........ ........|
Q-2:    |........ ........ ........ ........|
Q-1:    |........ ........ ........ ........|
Q0: |........ ........ ........ ........| ok p=1
Q1: |........ ........ ........ ........| ok p=1
Q2: |........ ........ ........ ........| ok p=1
Q3: |........ ........ ........ ........| ok p=1
Q4: |........ .0...... ........ ........| ok p=1
Q5: |........ ^0...... ........ ........| ok p=0.999023
Q6: |........ +-...... ........ ........| ok p=1
Q7: |........ 0+...... ........ ........| ok p=1
Q8: |........ 1+...... ........ ..1.0...| ok p=1
Q9: |........ 0+...... ........ ..0^0...| ok p=1
Q10:    |.....1.. +-...... ........ ..+--...| ok p=1
Q11:    |.....0.. 01...... ........ ..11+.0.| ok p=1
Q12:    |!....+.1 100..00. ........ .01+-^0.| ok p=1
Q13:    |....1+.0 101^^11. ....0.0. .0110++.| ok p=1
Q14:    |....1+.+ -------. .0..1^0. .+0+-1+.| ok p=1
Q15:    |....+-.1 0+1010-! .0..+-+. .-+++++.| ok p=0.984375
Q16:    |0....0.1 -+00011. .+..0-.. .0110.1.| ok p=0.938477
Q17:    |0...^-.. 01....1. .1..-+^. .0001^0.| ok p=0.533203
Q18:    |-....1.. +0..0... .+...-.. ........| ok p=0.462891
Q19:    |0....0.. ........ .-..^-.. .......0| ok p=0.258789
Q20:    |+..0...0 ^...+... .1...0.. .......1| ok p=0.454102
Q21:    |...1...1 ....+... .0...1.. .......-| ok p=0.880859
Q22:    |^..+...+ ....-... ........ ........| ok p=0.926758
Q23:    |........ ....-... ........ ..0....^| ok p=0.518555
Q24:    |...^...^ ....1... ........ ..1...0.| ok p=1
Q25:    |........ ....0... ........ ..-...1.| ok p=0.932617
Q26:    |........ ........ ........ ......+.| ok p=0.999023
Q27:    |........ ........ .....0.. ..^.....| ok p=1
Q28:    |........ ........ .....1.. ......^.| ok p=1
Q29:    |........ ........ .....-.. ........| ok p=1
Q30:    |........ ........ ........ ........| ok p=1
Q31:    |........ ........ .....^.. ........| ok p=1
Q32:    |........ ........ ........ ........| ok p=1
Q33:    |........ ........ ........ ........| ok p=1
Q34:    |........ ........ ........ ........| ok p=1
Q35:    |........ ........ ........ ........| ok p=1
Q36:    |........ ........ ........ ........| ok p=1
Q37:    |........ ........ ........ ........| ok p=1
Q38:    |........ ........ ........ ........| ok p=1
Q39:    |........ ........ ........ ........| ok p=1
Q40:    |........ ........ ........ ........| ok p=1
Q41:    |........ ........ ........ ........| ok p=1
Q42:    |........ ........ ........ ........| ok p=1
Q43:    |........ ........ ........ ........| ok p=1
Q44:    |........ ........ ........ ........| ok p=1
Q45:    |........ ........ ........ ........| ok p=1
Q46:    |........ ........ ........ ........| ok p=1
Q47:    |........ ........ ........ ........| ok p=1
Q48:    |........ ........ ........ ........| ok p=1
Q49:    |........ ........ ........ ........| ok p=1
Q50:    |0....... ........ ........ ........| ok p=1
Q51:    |1....... ........ ........ ........| ok p=0.507812
Q52:    |+....... ........ ........ ........| ok p=1
Q53:    |+....... ........ ........ ........| ok p=1
Q54:    |-....... ........ ........ ........| ok p=1
Q55:    |+....... ........ ........ ........| ok p=1
Q56:    |-....... ........ ........ ........| ok p=1
Q57:    |+....... ........ ........ ........| ok p=1
Q58:    |-....... ........ ........ ........| ok p=1
Q59:    |+....... ........ ........ ........| ok p=1
Q60:    |-....... ........ ........ ........| ok p=1
Q61:    |+....... ........ ........ ........| ok p=1
Q62:    |-....... ........ ........ ........| ok p=1
Q63:    |+....... ........ ........ ........| ok p=1
Q64:    |+....... ........ ........ ........|
IHV1   = 0123456789abcdeffedcba9876543210
Trying to load 'Q7Q24.bin.gz'...done: 2097152.
Q9m9 tunnel best state: 16
MSG: '_TQH~:y0]Hy'#w_Tb~,7niGdmJr.Bv;b{#:s<Nus6|O
m4=&TNa: good_m10 size: 19743
MSG: '_TQH~:y&TNa'#w_Tb~,7niGdmJr.Bv;b{#:s<Nus6|O
m13Q10good size: 84624

0%   10   20   30   40   50   60   70   80   90   100%
|----|----|----|----|----|----|----|----|----|----|
*1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576 2097152 
Q7810m1213size: 2105944

0%   10   20   30   40   50   60   70   80   90   100%
|----|----|----|----|----|----|----|----|----|----|
*Converting into look-up table...ls: cannot access 'textcoll1_*.txt': No such file or directory
Found first near-collision block in file: 
Starting search for second near-collision block in 10 seconds...
MD5 differential path textcollision solver
Copyright (C) 2024 Marc Stevens
http://homepages.cwi.nl/~stevens/

delta_m[5] = [!10!]
IHV1   = 0123456789abcdeffedcba9876543210
IHV2   = 0123456789abcdeffedcba9876543210
dIHV   = [!!][!!][!!][!!]
MSBs: 1100
Runtime: 0.00401497
Caught exception!!:
IHV1 and IHV2 do not fulfill the necessary conditions such that dF0,dF1 = 1<<31.
terminate called after throwing an instance of 'std::runtime_error'
  what():  IHV1 and IHV2 do not fulfill the necessary conditions such that dF0,dF1 = 1<<31.
../scripts/textcoll.sh: line 65: 1209931 Aborted                 (core dumped) $TEXTCOLL $MDIFF $SECONDBLOCKBYTES --secondblock --alphabet $ALPHABET --prefixfile partial_solution.txt

I run it simply by:

mkdir textcoll_workdir
cd textcoll_workdir
../scripts/textcoll.sh

Example of the changes I currently made (this is the current textcoll.sh):

#!/bin/bash

export BINDIR=$(dirname $0)/../bin
export HELPER=$BINDIR/md5_diffpathhelper
export TEXTCOLL=$BINDIR/md5_textcoll

export DIFFPATH=$BINDIR/../src/md5textcoll/path2.txt
MDIFF="--diffm5 11"

prefixfile=$1

if [ -z $prefixfile ]; then
    prefixfile=dummy.prefix.bin
fi
if [ ! -f $prefixfile ]; then
    touch $prefixfile
fi

ALPHABET="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.,_-~=+:;|?@#^&*(){}[]<>"
# ALPHABET="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.,_-~=+:;|?@#^&*"
#ALPHABET="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"

# First block: byte21 has a +4 difference: you must ensure that this difference is possible in the alphabet, e.g., have both A and E(=A+4)
FIRSTBLOCKBYTES='--byte0 '"'"' --byte20 '"'"' --byte21 #'"'"

# Second block: 
# - keep the alphabet of bytes 0-7 large: otherwise there could be no solutions
# - keep the alphabet of bytes 56-63 large: to make the search fast
# - if you want to set many bytes of the 2nd block then you should customize the 2nd block search in src/md5textcoll/block2.cpp
SECONDBLOCKBYTES='--byte8 B'

# First convert the differential path from text to binary for the attack
if [ ! -f textcoll_path.bin.gz ]; then
    $HELPER $MDIFF --pathfromtext --inputfile1 $DIFFPATH --outputfile1 textcoll_path.bin.gz || exit 1
fi

# TEXTCOLL Stage 1: preparation to find solutions over Q7-Q24

if [ ! -f Q7Q24.bin.gz ]; then
    ( $TEXTCOLL $MDIFF $FIRSTBLOCKBYTES --prepare --pathfile textcoll_path.bin.gz --alphabet $ALPHABET --prefixfile ${prefixfile} | tee prepare.log ) || exit 1
    echo "Solutions stored in Q7Q24.bin.gz."
    echo "It's possible to try to control more bytes by editing this script and deleting Q7Q24.bin.gz."
fi

# TEXTCOLL Stage 2: first block attack, but only if there is NO first block found yet
collfile=`ls textcoll1_block1_[0-9]*.txt | head -n1`

if [ "$collfile" = "" ]; then
    echo "Starting search for first near-collision block in 10 seconds..."
    sleep 10

    ( $TEXTCOLL $MDIFF $FIRSTBLOCKBYTES --firstblock --pathfile textcoll_path.bin.gz --alphabet $ALPHABET --prefixfile ${prefixfile} | tee firstblock.log ) || exit 1
    collfile=`ls textcoll1_*.txt | head -n1`
fi

echo "Found first near-collision block in file: $collfile"
cat ${prefixfile} ${collfile} > partial_solution.txt

# TEXTCOLL Stage 3: do second block attack 
# Basically denBoer-Bosselaers pseudo-collision attack, where trying 2^46 random messages is sufficient
echo "Starting search for second near-collision block in 10 seconds..."
sleep 10

$TEXTCOLL $MDIFF $SECONDBLOCKBYTES --secondblock --alphabet $ALPHABET --prefixfile partial_solution.txt || exit 1

# SUCCESS!! so now write full solutions

# second block file
coll2file=`ls textcoll1_block2_[0-9]*.txt | head -n1`

# other first block file
collfile2=`echo $collfile | sed "s/textcoll1/textcoll2/"`

cat ${prefixfile} ${collfile} ${coll2file} > final_collision1.txt
cat ${prefixfile} ${collfile2} ${coll2file} > final_collision2.txt

md5sum final_collision*
sha1sum final_collision*

echo -e "\n"
echo "========= final_collision1.txt =========="
cat final_collision1.txt
echo -e "\n"
echo "========= final_collision2.txt =========="
cat final_collision2.txt
echo -e "\n"

Notice that one of the characters I'm aiming for is a single quote ('), maybe it causes a problem with the script?

Thanks!

cr-marcstevens commented 2 months ago

Ok, I thought the problem might have been above ls error, but that part looks okay. It seems the process crashes while 'converting into a lookup table', I can see two possible causes:

cr-marcstevens commented 2 months ago

See also issue https://github.com/cr-marcstevens/hashclash/issues/41

or523 commented 2 months ago

I'm currently on the latest commit (adc075ce1297901dca74e89dc42b830a8fee66fc) so I don't think it's the issue. About the memory consumption - how can I check that? I have 16GB of RAM, is it supposed to be enough?

cr-marcstevens commented 2 months ago

One way is to simply have top open and look at memory consumption live.

cr-marcstevens commented 2 months ago

If you are really running into memory problems then you can also decrease memory by adjusting this line: https://github.com/cr-marcstevens/hashclash/blob/c8bc857c008ce9aea092ab8eb198e6411b0d2fd4/src/md5textcoll/block1.cpp#L250 You can try decreasing it in steps of 1 (effectively halving the LUT each time). The attack cost will increase somewhat though.

cr-marcstevens commented 2 months ago

Can this issue be closed?

or523 commented 2 months ago

Hi, the issue was memory problems! I moved to a machine with more memory (32GB) and it worked perfectly. Thanks!