erica / ibrowser

Please refer to the Chapter 13 samples instead. DEPRECATED Browse your normal (non-jailbroken) iPhone contents using a Web browser

ibrowser / MIMEHelper.m
100644 662 lines (658 sloc) 57.906 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
/*
* MIMEHelper
* Copyright 2008, Erica Sadun
*
* All rights are retained. This code remains the trade secret and intellectual property of Erica Sadun.
*/
 
#import "MIMEHelper.h"
 
 
@implementation MIMEHelper
+ (NSString *) mimeForExt: (NSString *) ext
{
NSString *uc = [ext uppercaseString];
    if([uc caseInsensitiveCompare:@"3dm"] == NSOrderedSame) return @"x-world/x-3dmf";
    if([uc caseInsensitiveCompare:@"3dmf"] == NSOrderedSame) return @"x-world/x-3dmf";
    if([uc caseInsensitiveCompare:@"a"] == NSOrderedSame) return @"application/octet-stream";
    if([uc caseInsensitiveCompare:@"aab"] == NSOrderedSame) return @"application/x-authorware-bin";
    if([uc caseInsensitiveCompare:@"aam"] == NSOrderedSame) return @"application/x-authorware-map";
    if([uc caseInsensitiveCompare:@"aas"] == NSOrderedSame) return @"application/x-authorware-seg";
    if([uc caseInsensitiveCompare:@"abc"] == NSOrderedSame) return @"text/vnd.abc";
    if([uc caseInsensitiveCompare:@"acgi"] == NSOrderedSame) return @"text/html";
    if([uc caseInsensitiveCompare:@"afl"] == NSOrderedSame) return @"video/animaflex";
    if([uc caseInsensitiveCompare:@"ai"] == NSOrderedSame) return @"application/postscript";
    if([uc caseInsensitiveCompare:@"aif"] == NSOrderedSame) return @"audio/aiff";
    if([uc caseInsensitiveCompare:@"aif"] == NSOrderedSame) return @"audio/x-aiff";
    if([uc caseInsensitiveCompare:@"aifc"] == NSOrderedSame) return @"audio/aiff";
    if([uc caseInsensitiveCompare:@"aifc"] == NSOrderedSame) return @"audio/x-aiff";
    if([uc caseInsensitiveCompare:@"aiff"] == NSOrderedSame) return @"audio/aiff";
    if([uc caseInsensitiveCompare:@"aiff"] == NSOrderedSame) return @"audio/x-aiff";
    if([uc caseInsensitiveCompare:@"aim"] == NSOrderedSame) return @"application/x-aim";
    if([uc caseInsensitiveCompare:@"aip"] == NSOrderedSame) return @"text/x-audiosoft-intra";
    if([uc caseInsensitiveCompare:@"ani"] == NSOrderedSame) return @"application/x-navi-animation";
    if([uc caseInsensitiveCompare:@"aos"] == NSOrderedSame) return @"application/x-nokia-9000-communicator-add-on-software";
    if([uc caseInsensitiveCompare:@"aps"] == NSOrderedSame) return @"application/mime";
    if([uc caseInsensitiveCompare:@"arc"] == NSOrderedSame) return @"application/octet-stream";
    if([uc caseInsensitiveCompare:@"arj"] == NSOrderedSame) return @"application/arj";
    if([uc caseInsensitiveCompare:@"arj"] == NSOrderedSame) return @"application/octet-stream";
    if([uc caseInsensitiveCompare:@"art"] == NSOrderedSame) return @"image/x-jg";
    if([uc caseInsensitiveCompare:@"asf"] == NSOrderedSame) return @"video/x-ms-asf";
    if([uc caseInsensitiveCompare:@"asm"] == NSOrderedSame) return @"text/x-asm";
    if([uc caseInsensitiveCompare:@"asp"] == NSOrderedSame) return @"text/asp";
    if([uc caseInsensitiveCompare:@"asx"] == NSOrderedSame) return @"application/x-mplayer2";
    if([uc caseInsensitiveCompare:@"asx"] == NSOrderedSame) return @"video/x-ms-asf";
    if([uc caseInsensitiveCompare:@"asx"] == NSOrderedSame) return @"video/x-ms-asf-plugin";
    if([uc caseInsensitiveCompare:@"au"] == NSOrderedSame) return @"audio/basic";
    if([uc caseInsensitiveCompare:@"au"] == NSOrderedSame) return @"audio/x-au";
    if([uc caseInsensitiveCompare:@"avi"] == NSOrderedSame) return @"application/x-troff-msvideo";
    if([uc caseInsensitiveCompare:@"avi"] == NSOrderedSame) return @"video/avi";
    if([uc caseInsensitiveCompare:@"avi"] == NSOrderedSame) return @"video/msvideo";
    if([uc caseInsensitiveCompare:@"avi"] == NSOrderedSame) return @"video/x-msvideo";
    if([uc caseInsensitiveCompare:@"avs"] == NSOrderedSame) return @"video/avs-video";
    if([uc caseInsensitiveCompare:@"bcpio"] == NSOrderedSame) return @"application/x-bcpio";
    if([uc caseInsensitiveCompare:@"bin"] == NSOrderedSame) return @"application/mac-binary";
    if([uc caseInsensitiveCompare:@"bin"] == NSOrderedSame) return @"application/macbinary";
    if([uc caseInsensitiveCompare:@"bin"] == NSOrderedSame) return @"application/octet-stream";
    if([uc caseInsensitiveCompare:@"bin"] == NSOrderedSame) return @"application/x-binary";
    if([uc caseInsensitiveCompare:@"bin"] == NSOrderedSame) return @"application/x-macbinary";
    if([uc caseInsensitiveCompare:@"bm"] == NSOrderedSame) return @"image/bmp";
    if([uc caseInsensitiveCompare:@"bmp"] == NSOrderedSame) return @"image/bmp";
    if([uc caseInsensitiveCompare:@"bmp"] == NSOrderedSame) return @"image/x-windows-bmp";
    if([uc caseInsensitiveCompare:@"boo"] == NSOrderedSame) return @"application/book";
    if([uc caseInsensitiveCompare:@"book"] == NSOrderedSame) return @"application/book";
    if([uc caseInsensitiveCompare:@"boz"] == NSOrderedSame) return @"application/x-bzip2";
    if([uc caseInsensitiveCompare:@"bsh"] == NSOrderedSame) return @"application/x-bsh";
    if([uc caseInsensitiveCompare:@"bz"] == NSOrderedSame) return @"application/x-bzip";
    if([uc caseInsensitiveCompare:@"bz2"] == NSOrderedSame) return @"application/x-bzip2";
    if([uc caseInsensitiveCompare:@"c"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"c"] == NSOrderedSame) return @"text/x-c";
    if([uc caseInsensitiveCompare:@"c++"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"cat"] == NSOrderedSame) return @"application/vnd.ms-pki.seccat";
    if([uc caseInsensitiveCompare:@"cc"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"cc"] == NSOrderedSame) return @"text/x-c";
    if([uc caseInsensitiveCompare:@"ccad"] == NSOrderedSame) return @"application/clariscad";
    if([uc caseInsensitiveCompare:@"cco"] == NSOrderedSame) return @"application/x-cocoa";
    if([uc caseInsensitiveCompare:@"cdf"] == NSOrderedSame) return @"application/cdf";
    if([uc caseInsensitiveCompare:@"cdf"] == NSOrderedSame) return @"application/x-cdf";
    if([uc caseInsensitiveCompare:@"cdf"] == NSOrderedSame) return @"application/x-netcdf";
    if([uc caseInsensitiveCompare:@"cer"] == NSOrderedSame) return @"application/pkix-cert";
    if([uc caseInsensitiveCompare:@"cer"] == NSOrderedSame) return @"application/x-x509-ca-cert";
    if([uc caseInsensitiveCompare:@"cha"] == NSOrderedSame) return @"application/x-chat";
    if([uc caseInsensitiveCompare:@"chat"] == NSOrderedSame) return @"application/x-chat";
    if([uc caseInsensitiveCompare:@"class"] == NSOrderedSame) return @"application/java";
    if([uc caseInsensitiveCompare:@"class"] == NSOrderedSame) return @"application/java-byte-code";
    if([uc caseInsensitiveCompare:@"class"] == NSOrderedSame) return @"application/x-java-class";
    if([uc caseInsensitiveCompare:@"com"] == NSOrderedSame) return @"application/octet-stream";
    if([uc caseInsensitiveCompare:@"com"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"conf"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"cpio"] == NSOrderedSame) return @"application/x-cpio";
    if([uc caseInsensitiveCompare:@"cpp"] == NSOrderedSame) return @"text/x-c";
    if([uc caseInsensitiveCompare:@"cpt"] == NSOrderedSame) return @"application/mac-compactpro";
    if([uc caseInsensitiveCompare:@"cpt"] == NSOrderedSame) return @"application/x-compactpro";
    if([uc caseInsensitiveCompare:@"cpt"] == NSOrderedSame) return @"application/x-cpt";
    if([uc caseInsensitiveCompare:@"crl"] == NSOrderedSame) return @"application/pkcs-crl";
    if([uc caseInsensitiveCompare:@"crl"] == NSOrderedSame) return @"application/pkix-crl";
    if([uc caseInsensitiveCompare:@"crt"] == NSOrderedSame) return @"application/pkix-cert";
    if([uc caseInsensitiveCompare:@"crt"] == NSOrderedSame) return @"application/x-x509-ca-cert";
    if([uc caseInsensitiveCompare:@"crt"] == NSOrderedSame) return @"application/x-x509-user-cert";
    if([uc caseInsensitiveCompare:@"csh"] == NSOrderedSame) return @"application/x-csh";
    if([uc caseInsensitiveCompare:@"csh"] == NSOrderedSame) return @"text/x-script.csh";
    if([uc caseInsensitiveCompare:@"css"] == NSOrderedSame) return @"application/x-pointplus";
    if([uc caseInsensitiveCompare:@"css"] == NSOrderedSame) return @"text/css";
    if([uc caseInsensitiveCompare:@"cxx"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"dcr"] == NSOrderedSame) return @"application/x-director";
    if([uc caseInsensitiveCompare:@"deepv"] == NSOrderedSame) return @"application/x-deepv";
    if([uc caseInsensitiveCompare:@"def"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"der"] == NSOrderedSame) return @"application/x-x509-ca-cert";
    if([uc caseInsensitiveCompare:@"dif"] == NSOrderedSame) return @"video/x-dv";
    if([uc caseInsensitiveCompare:@"dir"] == NSOrderedSame) return @"application/x-director";
    if([uc caseInsensitiveCompare:@"dl"] == NSOrderedSame) return @"video/dl";
    if([uc caseInsensitiveCompare:@"dl"] == NSOrderedSame) return @"video/x-dl";
    if([uc caseInsensitiveCompare:@"doc"] == NSOrderedSame) return @"application/msword";
    if([uc caseInsensitiveCompare:@"dot"] == NSOrderedSame) return @"application/msword";
    if([uc caseInsensitiveCompare:@"dp"] == NSOrderedSame) return @"application/commonground";
    if([uc caseInsensitiveCompare:@"drw"] == NSOrderedSame) return @"application/drafting";
    if([uc caseInsensitiveCompare:@"dump"] == NSOrderedSame) return @"application/octet-stream";
    if([uc caseInsensitiveCompare:@"dv"] == NSOrderedSame) return @"video/x-dv";
    if([uc caseInsensitiveCompare:@"dvi"] == NSOrderedSame) return @"application/x-dvi";
    if([uc caseInsensitiveCompare:@"dwf"] == NSOrderedSame) return @"drawing/x-dwf (old)";
    if([uc caseInsensitiveCompare:@"dwf"] == NSOrderedSame) return @"model/vnd.dwf";
    if([uc caseInsensitiveCompare:@"dwg"] == NSOrderedSame) return @"application/acad";
    if([uc caseInsensitiveCompare:@"dwg"] == NSOrderedSame) return @"image/vnd.dwg";
    if([uc caseInsensitiveCompare:@"dwg"] == NSOrderedSame) return @"image/x-dwg";
    if([uc caseInsensitiveCompare:@"dxf"] == NSOrderedSame) return @"application/dxf";
    if([uc caseInsensitiveCompare:@"dxf"] == NSOrderedSame) return @"image/vnd.dwg";
    if([uc caseInsensitiveCompare:@"dxf"] == NSOrderedSame) return @"image/x-dwg";
    if([uc caseInsensitiveCompare:@"dxr"] == NSOrderedSame) return @"application/x-director";
    if([uc caseInsensitiveCompare:@"el"] == NSOrderedSame) return @"text/x-script.elisp";
    if([uc caseInsensitiveCompare:@"elc"] == NSOrderedSame) return @"application/x-bytecode.elisp (compiled elisp)";
    if([uc caseInsensitiveCompare:@"elc"] == NSOrderedSame) return @"application/x-elc";
    if([uc caseInsensitiveCompare:@"env"] == NSOrderedSame) return @"application/x-envoy";
    if([uc caseInsensitiveCompare:@"eps"] == NSOrderedSame) return @"application/postscript";
    if([uc caseInsensitiveCompare:@"es"] == NSOrderedSame) return @"application/x-esrehber";
    if([uc caseInsensitiveCompare:@"etx"] == NSOrderedSame) return @"text/x-setext";
    if([uc caseInsensitiveCompare:@"evy"] == NSOrderedSame) return @"application/envoy";
    if([uc caseInsensitiveCompare:@"evy"] == NSOrderedSame) return @"application/x-envoy";
    if([uc caseInsensitiveCompare:@"exe"] == NSOrderedSame) return @"application/octet-stream";
    if([uc caseInsensitiveCompare:@"f"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"f"] == NSOrderedSame) return @"text/x-fortran";
    if([uc caseInsensitiveCompare:@"f77"] == NSOrderedSame) return @"text/x-fortran";
    if([uc caseInsensitiveCompare:@"f90"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"f90"] == NSOrderedSame) return @"text/x-fortran";
    if([uc caseInsensitiveCompare:@"fdf"] == NSOrderedSame) return @"application/vnd.fdf";
    if([uc caseInsensitiveCompare:@"fif"] == NSOrderedSame) return @"application/fractals";
    if([uc caseInsensitiveCompare:@"fif"] == NSOrderedSame) return @"image/fif";
    if([uc caseInsensitiveCompare:@"fli"] == NSOrderedSame) return @"video/fli";
    if([uc caseInsensitiveCompare:@"fli"] == NSOrderedSame) return @"video/x-fli";
    if([uc caseInsensitiveCompare:@"flo"] == NSOrderedSame) return @"image/florian";
    if([uc caseInsensitiveCompare:@"flx"] == NSOrderedSame) return @"text/vnd.fmi.flexstor";
    if([uc caseInsensitiveCompare:@"fmf"] == NSOrderedSame) return @"video/x-atomic3d-feature";
    if([uc caseInsensitiveCompare:@"for"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"for"] == NSOrderedSame) return @"text/x-fortran";
    if([uc caseInsensitiveCompare:@"fpx"] == NSOrderedSame) return @"image/vnd.fpx";
    if([uc caseInsensitiveCompare:@"fpx"] == NSOrderedSame) return @"image/vnd.net-fpx";
    if([uc caseInsensitiveCompare:@"frl"] == NSOrderedSame) return @"application/freeloader";
    if([uc caseInsensitiveCompare:@"funk"] == NSOrderedSame) return @"audio/make";
    if([uc caseInsensitiveCompare:@"g"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"g3"] == NSOrderedSame) return @"image/g3fax";
    if([uc caseInsensitiveCompare:@"gif"] == NSOrderedSame) return @"image/gif";
    if([uc caseInsensitiveCompare:@"gl"] == NSOrderedSame) return @"video/gl";
    if([uc caseInsensitiveCompare:@"gl"] == NSOrderedSame) return @"video/x-gl";
    if([uc caseInsensitiveCompare:@"gsd"] == NSOrderedSame) return @"audio/x-gsm";
    if([uc caseInsensitiveCompare:@"gsm"] == NSOrderedSame) return @"audio/x-gsm";
    if([uc caseInsensitiveCompare:@"gsp"] == NSOrderedSame) return @"application/x-gsp";
    if([uc caseInsensitiveCompare:@"gss"] == NSOrderedSame) return @"application/x-gss";
    if([uc caseInsensitiveCompare:@"gtar"] == NSOrderedSame) return @"application/x-gtar";
    if([uc caseInsensitiveCompare:@"gz"] == NSOrderedSame) return @"application/x-compressed";
    if([uc caseInsensitiveCompare:@"gz"] == NSOrderedSame) return @"application/x-gzip";
    if([uc caseInsensitiveCompare:@"gzip"] == NSOrderedSame) return @"application/x-gzip";
    if([uc caseInsensitiveCompare:@"gzip"] == NSOrderedSame) return @"multipart/x-gzip";
    if([uc caseInsensitiveCompare:@"h"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"h"] == NSOrderedSame) return @"text/x-h";
    if([uc caseInsensitiveCompare:@"hdf"] == NSOrderedSame) return @"application/x-hdf";
    if([uc caseInsensitiveCompare:@"help"] == NSOrderedSame) return @"application/x-helpfile";
    if([uc caseInsensitiveCompare:@"hgl"] == NSOrderedSame) return @"application/vnd.hp-hpgl";
    if([uc caseInsensitiveCompare:@"hh"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"hh"] == NSOrderedSame) return @"text/x-h";
    if([uc caseInsensitiveCompare:@"hlb"] == NSOrderedSame) return @"text/x-script";
    if([uc caseInsensitiveCompare:@"hlp"] == NSOrderedSame) return @"application/hlp";
    if([uc caseInsensitiveCompare:@"hlp"] == NSOrderedSame) return @"application/x-helpfile";
    if([uc caseInsensitiveCompare:@"hlp"] == NSOrderedSame) return @"application/x-winhelp";
    if([uc caseInsensitiveCompare:@"hpg"] == NSOrderedSame) return @"application/vnd.hp-hpgl";
    if([uc caseInsensitiveCompare:@"hpgl"] == NSOrderedSame) return @"application/vnd.hp-hpgl";
    if([uc caseInsensitiveCompare:@"hqx"] == NSOrderedSame) return @"application/binhex";
    if([uc caseInsensitiveCompare:@"hqx"] == NSOrderedSame) return @"application/binhex4";
    if([uc caseInsensitiveCompare:@"hqx"] == NSOrderedSame) return @"application/mac-binhex";
    if([uc caseInsensitiveCompare:@"hqx"] == NSOrderedSame) return @"application/mac-binhex40";
    if([uc caseInsensitiveCompare:@"hqx"] == NSOrderedSame) return @"application/x-binhex40";
    if([uc caseInsensitiveCompare:@"hqx"] == NSOrderedSame) return @"application/x-mac-binhex40";
    if([uc caseInsensitiveCompare:@"hta"] == NSOrderedSame) return @"application/hta";
    if([uc caseInsensitiveCompare:@"htc"] == NSOrderedSame) return @"text/x-component";
    if([uc caseInsensitiveCompare:@"htm"] == NSOrderedSame) return @"text/html";
    if([uc caseInsensitiveCompare:@"html"] == NSOrderedSame) return @"text/html";
    if([uc caseInsensitiveCompare:@"htmls"] == NSOrderedSame) return @"text/html";
    if([uc caseInsensitiveCompare:@"htt"] == NSOrderedSame) return @"text/webviewhtml";
    if([uc caseInsensitiveCompare:@"htx"] == NSOrderedSame) return @"text/html";
    if([uc caseInsensitiveCompare:@"ice"] == NSOrderedSame) return @"x-conference/x-cooltalk";
    if([uc caseInsensitiveCompare:@"ico"] == NSOrderedSame) return @"image/x-icon";
    if([uc caseInsensitiveCompare:@"idc"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"ief"] == NSOrderedSame) return @"image/ief";
    if([uc caseInsensitiveCompare:@"iefs"] == NSOrderedSame) return @"image/ief";
    if([uc caseInsensitiveCompare:@"iges"] == NSOrderedSame) return @"application/iges";
    if([uc caseInsensitiveCompare:@"iges"] == NSOrderedSame) return @"model/iges";
    if([uc caseInsensitiveCompare:@"igs"] == NSOrderedSame) return @"application/iges";
    if([uc caseInsensitiveCompare:@"igs"] == NSOrderedSame) return @"model/iges";
    if([uc caseInsensitiveCompare:@"ima"] == NSOrderedSame) return @"application/x-ima";
    if([uc caseInsensitiveCompare:@"imap"] == NSOrderedSame) return @"application/x-httpd-imap";
    if([uc caseInsensitiveCompare:@"inf"] == NSOrderedSame) return @"application/inf";
    if([uc caseInsensitiveCompare:@"ins"] == NSOrderedSame) return @"application/x-internett-signup";
    if([uc caseInsensitiveCompare:@"ip"] == NSOrderedSame) return @"application/x-ip2";
    if([uc caseInsensitiveCompare:@"isu"] == NSOrderedSame) return @"video/x-isvideo";
    if([uc caseInsensitiveCompare:@"it"] == NSOrderedSame) return @"audio/it";
    if([uc caseInsensitiveCompare:@"iv"] == NSOrderedSame) return @"application/x-inventor";
    if([uc caseInsensitiveCompare:@"ivr"] == NSOrderedSame) return @"i-world/i-vrml";
    if([uc caseInsensitiveCompare:@"ivy"] == NSOrderedSame) return @"application/x-livescreen";
    if([uc caseInsensitiveCompare:@"jam"] == NSOrderedSame) return @"audio/x-jam";
    if([uc caseInsensitiveCompare:@"jav"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"jav"] == NSOrderedSame) return @"text/x-java-source";
    if([uc caseInsensitiveCompare:@"java"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"java"] == NSOrderedSame) return @"text/x-java-source";
    if([uc caseInsensitiveCompare:@"jcm"] == NSOrderedSame) return @"application/x-java-commerce";
    if([uc caseInsensitiveCompare:@"jfif"] == NSOrderedSame) return @"image/jpeg";
    if([uc caseInsensitiveCompare:@"jfif"] == NSOrderedSame) return @"image/pjpeg";
    if([uc caseInsensitiveCompare:@"jfif-tbnl"] == NSOrderedSame) return @"image/jpeg";
    if([uc caseInsensitiveCompare:@"jpe"] == NSOrderedSame) return @"image/jpeg";
    if([uc caseInsensitiveCompare:@"jpe"] == NSOrderedSame) return @"image/pjpeg";
    if([uc caseInsensitiveCompare:@"jpeg"] == NSOrderedSame) return @"image/jpeg";
    if([uc caseInsensitiveCompare:@"jpeg"] == NSOrderedSame) return @"image/pjpeg";
    if([uc caseInsensitiveCompare:@"jpg"] == NSOrderedSame) return @"image/jpeg";
if([uc caseInsensitiveCompare:@"thm"] == NSOrderedSame) return @"image/jpeg";
    if([uc caseInsensitiveCompare:@"jpg"] == NSOrderedSame) return @"image/pjpeg";
    if([uc caseInsensitiveCompare:@"jps"] == NSOrderedSame) return @"image/x-jps";
    if([uc caseInsensitiveCompare:@"js"] == NSOrderedSame) return @"application/x-javascript";
    if([uc caseInsensitiveCompare:@"jut"] == NSOrderedSame) return @"image/jutvision";
    if([uc caseInsensitiveCompare:@"kar"] == NSOrderedSame) return @"audio/midi";
    if([uc caseInsensitiveCompare:@"kar"] == NSOrderedSame) return @"music/x-karaoke";
    if([uc caseInsensitiveCompare:@"ksh"] == NSOrderedSame) return @"application/x-ksh";
    if([uc caseInsensitiveCompare:@"ksh"] == NSOrderedSame) return @"text/x-script.ksh";
    if([uc caseInsensitiveCompare:@"la"] == NSOrderedSame) return @"audio/nspaudio";
    if([uc caseInsensitiveCompare:@"la"] == NSOrderedSame) return @"audio/x-nspaudio";
    if([uc caseInsensitiveCompare:@"lam"] == NSOrderedSame) return @"audio/x-liveaudio";
    if([uc caseInsensitiveCompare:@"latex"] == NSOrderedSame) return @"application/x-latex";
    if([uc caseInsensitiveCompare:@"lha"] == NSOrderedSame) return @"application/lha";
    if([uc caseInsensitiveCompare:@"lha"] == NSOrderedSame) return @"application/octet-stream";
    if([uc caseInsensitiveCompare:@"lha"] == NSOrderedSame) return @"application/x-lha";
    if([uc caseInsensitiveCompare:@"lhx"] == NSOrderedSame) return @"application/octet-stream";
    if([uc caseInsensitiveCompare:@"list"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"lma"] == NSOrderedSame) return @"audio/nspaudio";
    if([uc caseInsensitiveCompare:@"lma"] == NSOrderedSame) return @"audio/x-nspaudio";
    if([uc caseInsensitiveCompare:@"log"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"lsp"] == NSOrderedSame) return @"application/x-lisp";
    if([uc caseInsensitiveCompare:@"lsp"] == NSOrderedSame) return @"text/x-script.lisp";
    if([uc caseInsensitiveCompare:@"lst"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"lsx"] == NSOrderedSame) return @"text/x-la-asf";
    if([uc caseInsensitiveCompare:@"ltx"] == NSOrderedSame) return @"application/x-latex";
    if([uc caseInsensitiveCompare:@"lzh"] == NSOrderedSame) return @"application/octet-stream";
    if([uc caseInsensitiveCompare:@"lzh"] == NSOrderedSame) return @"application/x-lzh";
    if([uc caseInsensitiveCompare:@"lzx"] == NSOrderedSame) return @"application/lzx";
    if([uc caseInsensitiveCompare:@"lzx"] == NSOrderedSame) return @"application/octet-stream";
    if([uc caseInsensitiveCompare:@"lzx"] == NSOrderedSame) return @"application/x-lzx";
    if([uc caseInsensitiveCompare:@"m"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"m"] == NSOrderedSame) return @"text/x-m";
    if([uc caseInsensitiveCompare:@"m1v"] == NSOrderedSame) return @"video/mpeg";
    if([uc caseInsensitiveCompare:@"m2a"] == NSOrderedSame) return @"audio/mpeg";
    if([uc caseInsensitiveCompare:@"m2v"] == NSOrderedSame) return @"video/mpeg";
    if([uc caseInsensitiveCompare:@"m3u"] == NSOrderedSame) return @"audio/x-mpequrl";
    if([uc caseInsensitiveCompare:@"man"] == NSOrderedSame) return @"application/x-troff-man";
    if([uc caseInsensitiveCompare:@"map"] == NSOrderedSame) return @"application/x-navimap";
    if([uc caseInsensitiveCompare:@"mar"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"mbd"] == NSOrderedSame) return @"application/mbedlet";
    if([uc caseInsensitiveCompare:@"mc$"] == NSOrderedSame) return @"application/x-magic-cap-package-1.0";
    if([uc caseInsensitiveCompare:@"mcd"] == NSOrderedSame) return @"application/mcad";
    if([uc caseInsensitiveCompare:@"mcd"] == NSOrderedSame) return @"application/x-mathcad";
    if([uc caseInsensitiveCompare:@"mcf"] == NSOrderedSame) return @"image/vasa";
    if([uc caseInsensitiveCompare:@"mcf"] == NSOrderedSame) return @"text/mcf";
    if([uc caseInsensitiveCompare:@"mcp"] == NSOrderedSame) return @"application/netmc";
    if([uc caseInsensitiveCompare:@"me"] == NSOrderedSame) return @"application/x-troff-me";
    if([uc caseInsensitiveCompare:@"mht"] == NSOrderedSame) return @"message/rfc822";
    if([uc caseInsensitiveCompare:@"mhtml"] == NSOrderedSame) return @"message/rfc822";
    if([uc caseInsensitiveCompare:@"mid"] == NSOrderedSame) return @"application/x-midi";
    if([uc caseInsensitiveCompare:@"mid"] == NSOrderedSame) return @"audio/midi";
    if([uc caseInsensitiveCompare:@"mid"] == NSOrderedSame) return @"audio/x-mid";
    if([uc caseInsensitiveCompare:@"mid"] == NSOrderedSame) return @"audio/x-midi";
    if([uc caseInsensitiveCompare:@"mid"] == NSOrderedSame) return @"music/crescendo";
    if([uc caseInsensitiveCompare:@"mid"] == NSOrderedSame) return @"x-music/x-midi";
    if([uc caseInsensitiveCompare:@"midi"] == NSOrderedSame) return @"application/x-midi";
    if([uc caseInsensitiveCompare:@"midi"] == NSOrderedSame) return @"audio/midi";
    if([uc caseInsensitiveCompare:@"midi"] == NSOrderedSame) return @"audio/x-mid";
    if([uc caseInsensitiveCompare:@"midi"] == NSOrderedSame) return @"audio/x-midi";
    if([uc caseInsensitiveCompare:@"midi"] == NSOrderedSame) return @"music/crescendo";
    if([uc caseInsensitiveCompare:@"midi"] == NSOrderedSame) return @"x-music/x-midi";
    if([uc caseInsensitiveCompare:@"mif"] == NSOrderedSame) return @"application/x-frame";
    if([uc caseInsensitiveCompare:@"mif"] == NSOrderedSame) return @"application/x-mif";
    if([uc caseInsensitiveCompare:@"mime"] == NSOrderedSame) return @"message/rfc822";
    if([uc caseInsensitiveCompare:@"mime"] == NSOrderedSame) return @"www/mime";
    if([uc caseInsensitiveCompare:@"mjf"] == NSOrderedSame) return @"audio/x-vnd.audioexplosion.mjuicemediafile";
    if([uc caseInsensitiveCompare:@"mjpg"] == NSOrderedSame) return @"video/x-motion-jpeg";
    if([uc caseInsensitiveCompare:@"mm"] == NSOrderedSame) return @"application/base64";
    if([uc caseInsensitiveCompare:@"mm"] == NSOrderedSame) return @"application/x-meme";
    if([uc caseInsensitiveCompare:@"mme"] == NSOrderedSame) return @"application/base64";
    if([uc caseInsensitiveCompare:@"mod"] == NSOrderedSame) return @"audio/mod";
    if([uc caseInsensitiveCompare:@"mod"] == NSOrderedSame) return @"audio/x-mod";
    if([uc caseInsensitiveCompare:@"moov"] == NSOrderedSame) return @"video/quicktime";
    if([uc caseInsensitiveCompare:@"mov"] == NSOrderedSame) return @"video/quicktime";
    if([uc caseInsensitiveCompare:@"movie"] == NSOrderedSame) return @"video/x-sgi-movie";
    if([uc caseInsensitiveCompare:@"mp2"] == NSOrderedSame) return @"audio/mpeg";
    if([uc caseInsensitiveCompare:@"mp2"] == NSOrderedSame) return @"audio/x-mpeg";
    if([uc caseInsensitiveCompare:@"mp2"] == NSOrderedSame) return @"video/mpeg";
    if([uc caseInsensitiveCompare:@"mp2"] == NSOrderedSame) return @"video/x-mpeg";
    if([uc caseInsensitiveCompare:@"mp2"] == NSOrderedSame) return @"video/x-mpeq2a";
    if([uc caseInsensitiveCompare:@"mp3"] == NSOrderedSame) return @"audio/mpeg3";
    if([uc caseInsensitiveCompare:@"mp3"] == NSOrderedSame) return @"audio/x-mpeg-3";
    if([uc caseInsensitiveCompare:@"mp3"] == NSOrderedSame) return @"video/mpeg";
    if([uc caseInsensitiveCompare:@"mp3"] == NSOrderedSame) return @"video/x-mpeg";
    if([uc caseInsensitiveCompare:@"mpa"] == NSOrderedSame) return @"audio/mpeg";
    if([uc caseInsensitiveCompare:@"mpa"] == NSOrderedSame) return @"video/mpeg";
    if([uc caseInsensitiveCompare:@"mpc"] == NSOrderedSame) return @"application/x-project";
    if([uc caseInsensitiveCompare:@"mpe"] == NSOrderedSame) return @"video/mpeg";
    if([uc caseInsensitiveCompare:@"mpeg"] == NSOrderedSame) return @"video/mpeg";
    if([uc caseInsensitiveCompare:@"mpg"] == NSOrderedSame) return @"audio/mpeg";
    if([uc caseInsensitiveCompare:@"mpg"] == NSOrderedSame) return @"video/mpeg";
    if([uc caseInsensitiveCompare:@"mpga"] == NSOrderedSame) return @"audio/mpeg";
    if([uc caseInsensitiveCompare:@"mpp"] == NSOrderedSame) return @"application/vnd.ms-project";
    if([uc caseInsensitiveCompare:@"mpt"] == NSOrderedSame) return @"application/x-project";
    if([uc caseInsensitiveCompare:@"mpv"] == NSOrderedSame) return @"application/x-project";
    if([uc caseInsensitiveCompare:@"mpx"] == NSOrderedSame) return @"application/x-project";
    if([uc caseInsensitiveCompare:@"mrc"] == NSOrderedSame) return @"application/marc";
    if([uc caseInsensitiveCompare:@"ms"] == NSOrderedSame) return @"application/x-troff-ms";
    if([uc caseInsensitiveCompare:@"mv"] == NSOrderedSame) return @"video/x-sgi-movie";
    if([uc caseInsensitiveCompare:@"my"] == NSOrderedSame) return @"audio/make";
    if([uc caseInsensitiveCompare:@"mzz"] == NSOrderedSame) return @"application/x-vnd.audioexplosion.mzz";
    if([uc caseInsensitiveCompare:@"nap"] == NSOrderedSame) return @"image/naplps";
    if([uc caseInsensitiveCompare:@"naplps"] == NSOrderedSame) return @"image/naplps";
    if([uc caseInsensitiveCompare:@"nc"] == NSOrderedSame) return @"application/x-netcdf";
    if([uc caseInsensitiveCompare:@"ncm"] == NSOrderedSame) return @"application/vnd.nokia.configuration-message";
    if([uc caseInsensitiveCompare:@"nif"] == NSOrderedSame) return @"image/x-niff";
    if([uc caseInsensitiveCompare:@"niff"] == NSOrderedSame) return @"image/x-niff";
    if([uc caseInsensitiveCompare:@"nix"] == NSOrderedSame) return @"application/x-mix-transfer";
    if([uc caseInsensitiveCompare:@"nsc"] == NSOrderedSame) return @"application/x-conference";
    if([uc caseInsensitiveCompare:@"nvd"] == NSOrderedSame) return @"application/x-navidoc";
    if([uc caseInsensitiveCompare:@"o"] == NSOrderedSame) return @"application/octet-stream";
    if([uc caseInsensitiveCompare:@"oda"] == NSOrderedSame) return @"application/oda";
    if([uc caseInsensitiveCompare:@"omc"] == NSOrderedSame) return @"application/x-omc";
    if([uc caseInsensitiveCompare:@"omcd"] == NSOrderedSame) return @"application/x-omcdatamaker";
    if([uc caseInsensitiveCompare:@"omcr"] == NSOrderedSame) return @"application/x-omcregerator";
    if([uc caseInsensitiveCompare:@"p"] == NSOrderedSame) return @"text/x-pascal";
    if([uc caseInsensitiveCompare:@"p10"] == NSOrderedSame) return @"application/pkcs10";
    if([uc caseInsensitiveCompare:@"p10"] == NSOrderedSame) return @"application/x-pkcs10";
    if([uc caseInsensitiveCompare:@"p12"] == NSOrderedSame) return @"application/pkcs-12";
    if([uc caseInsensitiveCompare:@"p12"] == NSOrderedSame) return @"application/x-pkcs12";
    if([uc caseInsensitiveCompare:@"p7a"] == NSOrderedSame) return @"application/x-pkcs7-signature";
    if([uc caseInsensitiveCompare:@"p7c"] == NSOrderedSame) return @"application/pkcs7-mime";
    if([uc caseInsensitiveCompare:@"p7c"] == NSOrderedSame) return @"application/x-pkcs7-mime";
    if([uc caseInsensitiveCompare:@"p7m"] == NSOrderedSame) return @"application/pkcs7-mime";
    if([uc caseInsensitiveCompare:@"p7m"] == NSOrderedSame) return @"application/x-pkcs7-mime";
    if([uc caseInsensitiveCompare:@"p7r"] == NSOrderedSame) return @"application/x-pkcs7-certreqresp";
    if([uc caseInsensitiveCompare:@"p7s"] == NSOrderedSame) return @"application/pkcs7-signature";
    if([uc caseInsensitiveCompare:@"part"] == NSOrderedSame) return @"application/pro_eng";
    if([uc caseInsensitiveCompare:@"pas"] == NSOrderedSame) return @"text/pascal";
    if([uc caseInsensitiveCompare:@"pbm"] == NSOrderedSame) return @"image/x-portable-bitmap";
    if([uc caseInsensitiveCompare:@"pcl"] == NSOrderedSame) return @"application/vnd.hp-pcl";
    if([uc caseInsensitiveCompare:@"pcl"] == NSOrderedSame) return @"application/x-pcl";
    if([uc caseInsensitiveCompare:@"pct"] == NSOrderedSame) return @"image/x-pict";
    if([uc caseInsensitiveCompare:@"pcx"] == NSOrderedSame) return @"image/x-pcx";
    if([uc caseInsensitiveCompare:@"pdb"] == NSOrderedSame) return @"chemical/x-pdb";
    if([uc caseInsensitiveCompare:@"pdf"] == NSOrderedSame) return @"application/pdf";
    if([uc caseInsensitiveCompare:@"pfunk"] == NSOrderedSame) return @"audio/make";
    if([uc caseInsensitiveCompare:@"pfunk"] == NSOrderedSame) return @"audio/make.my.funk";
    if([uc caseInsensitiveCompare:@"pgm"] == NSOrderedSame) return @"image/x-portable-graymap";
    if([uc caseInsensitiveCompare:@"pgm"] == NSOrderedSame) return @"image/x-portable-greymap";
    if([uc caseInsensitiveCompare:@"pic"] == NSOrderedSame) return @"image/pict";
    if([uc caseInsensitiveCompare:@"pict"] == NSOrderedSame) return @"image/pict";
    if([uc caseInsensitiveCompare:@"pkg"] == NSOrderedSame) return @"application/x-newton-compatible-pkg";
    if([uc caseInsensitiveCompare:@"pko"] == NSOrderedSame) return @"application/vnd.ms-pki.pko";
    if([uc caseInsensitiveCompare:@"pl"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"pl"] == NSOrderedSame) return @"text/x-script.perl";
if([uc caseInsensitiveCompare:@"plist"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"plx"] == NSOrderedSame) return @"application/x-pixclscript";
    if([uc caseInsensitiveCompare:@"pm"] == NSOrderedSame) return @"image/x-xpixmap";
    if([uc caseInsensitiveCompare:@"pm"] == NSOrderedSame) return @"text/x-script.perl-module";
    if([uc caseInsensitiveCompare:@"pm4"] == NSOrderedSame) return @"application/x-pagemaker";
    if([uc caseInsensitiveCompare:@"pm5"] == NSOrderedSame) return @"application/x-pagemaker";
    if([uc caseInsensitiveCompare:@"png"] == NSOrderedSame) return @"image/png";
    if([uc caseInsensitiveCompare:@"pnm"] == NSOrderedSame) return @"application/x-portable-anymap";
    if([uc caseInsensitiveCompare:@"pnm"] == NSOrderedSame) return @"image/x-portable-anymap";
    if([uc caseInsensitiveCompare:@"pot"] == NSOrderedSame) return @"application/mspowerpoint";
    if([uc caseInsensitiveCompare:@"pot"] == NSOrderedSame) return @"application/vnd.ms-powerpoint";
    if([uc caseInsensitiveCompare:@"pov"] == NSOrderedSame) return @"model/x-pov";
    if([uc caseInsensitiveCompare:@"ppa"] == NSOrderedSame) return @"application/vnd.ms-powerpoint";
    if([uc caseInsensitiveCompare:@"ppm"] == NSOrderedSame) return @"image/x-portable-pixmap";
    if([uc caseInsensitiveCompare:@"pps"] == NSOrderedSame) return @"application/mspowerpoint";
    if([uc caseInsensitiveCompare:@"pps"] == NSOrderedSame) return @"application/vnd.ms-powerpoint";
    if([uc caseInsensitiveCompare:@"ppt"] == NSOrderedSame) return @"application/mspowerpoint";
    if([uc caseInsensitiveCompare:@"ppt"] == NSOrderedSame) return @"application/powerpoint";
    if([uc caseInsensitiveCompare:@"ppt"] == NSOrderedSame) return @"application/vnd.ms-powerpoint";
    if([uc caseInsensitiveCompare:@"ppt"] == NSOrderedSame) return @"application/x-mspowerpoint";
    if([uc caseInsensitiveCompare:@"ppz"] == NSOrderedSame) return @"application/mspowerpoint";
    if([uc caseInsensitiveCompare:@"pre"] == NSOrderedSame) return @"application/x-freelance";
    if([uc caseInsensitiveCompare:@"prt"] == NSOrderedSame) return @"application/pro_eng";
    if([uc caseInsensitiveCompare:@"ps"] == NSOrderedSame) return @"application/postscript";
    if([uc caseInsensitiveCompare:@"psd"] == NSOrderedSame) return @"application/octet-stream";
    if([uc caseInsensitiveCompare:@"pvu"] == NSOrderedSame) return @"paleovu/x-pv";
    if([uc caseInsensitiveCompare:@"pwz"] == NSOrderedSame) return @"application/vnd.ms-powerpoint";
    if([uc caseInsensitiveCompare:@"py"] == NSOrderedSame) return @"text/x-script.phyton";
    if([uc caseInsensitiveCompare:@"pyc"] == NSOrderedSame) return @"applicaiton/x-bytecode.python";
    if([uc caseInsensitiveCompare:@"qcp"] == NSOrderedSame) return @"audio/vnd.qcelp";
    if([uc caseInsensitiveCompare:@"qd3"] == NSOrderedSame) return @"x-world/x-3dmf";
    if([uc caseInsensitiveCompare:@"qd3d"] == NSOrderedSame) return @"x-world/x-3dmf";
    if([uc caseInsensitiveCompare:@"qif"] == NSOrderedSame) return @"image/x-quicktime";
    if([uc caseInsensitiveCompare:@"qt"] == NSOrderedSame) return @"video/quicktime";
    if([uc caseInsensitiveCompare:@"qtc"] == NSOrderedSame) return @"video/x-qtc";
    if([uc caseInsensitiveCompare:@"qti"] == NSOrderedSame) return @"image/x-quicktime";
    if([uc caseInsensitiveCompare:@"qtif"] == NSOrderedSame) return @"image/x-quicktime";
    if([uc caseInsensitiveCompare:@"ra"] == NSOrderedSame) return @"audio/x-pn-realaudio";
    if([uc caseInsensitiveCompare:@"ra"] == NSOrderedSame) return @"audio/x-pn-realaudio-plugin";
    if([uc caseInsensitiveCompare:@"ra"] == NSOrderedSame) return @"audio/x-realaudio";
    if([uc caseInsensitiveCompare:@"ram"] == NSOrderedSame) return @"audio/x-pn-realaudio";
    if([uc caseInsensitiveCompare:@"ras"] == NSOrderedSame) return @"application/x-cmu-raster";
    if([uc caseInsensitiveCompare:@"ras"] == NSOrderedSame) return @"image/cmu-raster";
    if([uc caseInsensitiveCompare:@"ras"] == NSOrderedSame) return @"image/x-cmu-raster";
    if([uc caseInsensitiveCompare:@"rast"] == NSOrderedSame) return @"image/cmu-raster";
    if([uc caseInsensitiveCompare:@"rexx"] == NSOrderedSame) return @"text/x-script.rexx";
    if([uc caseInsensitiveCompare:@"rf"] == NSOrderedSame) return @"image/vnd.rn-realflash";
    if([uc caseInsensitiveCompare:@"rgb"] == NSOrderedSame) return @"image/x-rgb";
    if([uc caseInsensitiveCompare:@"rm"] == NSOrderedSame) return @"application/vnd.rn-realmedia";
    if([uc caseInsensitiveCompare:@"rm"] == NSOrderedSame) return @"audio/x-pn-realaudio";
    if([uc caseInsensitiveCompare:@"rmi"] == NSOrderedSame) return @"audio/mid";
    if([uc caseInsensitiveCompare:@"rmm"] == NSOrderedSame) return @"audio/x-pn-realaudio";
    if([uc caseInsensitiveCompare:@"rmp"] == NSOrderedSame) return @"audio/x-pn-realaudio";
    if([uc caseInsensitiveCompare:@"rmp"] == NSOrderedSame) return @"audio/x-pn-realaudio-plugin";
    if([uc caseInsensitiveCompare:@"rng"] == NSOrderedSame) return @"application/ringing-tones";
    if([uc caseInsensitiveCompare:@"rng"] == NSOrderedSame) return @"application/vnd.nokia.ringing-tone";
    if([uc caseInsensitiveCompare:@"rnx"] == NSOrderedSame) return @"application/vnd.rn-realplayer";
    if([uc caseInsensitiveCompare:@"roff"] == NSOrderedSame) return @"application/x-troff";
    if([uc caseInsensitiveCompare:@"rp"] == NSOrderedSame) return @"image/vnd.rn-realpix";
    if([uc caseInsensitiveCompare:@"rpm"] == NSOrderedSame) return @"audio/x-pn-realaudio-plugin";
    if([uc caseInsensitiveCompare:@"rt"] == NSOrderedSame) return @"text/richtext";
    if([uc caseInsensitiveCompare:@"rt"] == NSOrderedSame) return @"text/vnd.rn-realtext";
    if([uc caseInsensitiveCompare:@"rtf"] == NSOrderedSame) return @"application/rtf";
    if([uc caseInsensitiveCompare:@"rtf"] == NSOrderedSame) return @"application/x-rtf";
    if([uc caseInsensitiveCompare:@"rtf"] == NSOrderedSame) return @"text/richtext";
    if([uc caseInsensitiveCompare:@"rtx"] == NSOrderedSame) return @"application/rtf";
    if([uc caseInsensitiveCompare:@"rtx"] == NSOrderedSame) return @"text/richtext";
    if([uc caseInsensitiveCompare:@"rv"] == NSOrderedSame) return @"video/vnd.rn-realvideo";
    if([uc caseInsensitiveCompare:@"s"] == NSOrderedSame) return @"text/x-asm";
    if([uc caseInsensitiveCompare:@"s3m"] == NSOrderedSame) return @"audio/s3m";
    if([uc caseInsensitiveCompare:@"saveme"] == NSOrderedSame) return @"application/octet-stream";
    if([uc caseInsensitiveCompare:@"sbk"] == NSOrderedSame) return @"application/x-tbook";
    if([uc caseInsensitiveCompare:@"scm"] == NSOrderedSame) return @"application/x-lotusscreencam";
    if([uc caseInsensitiveCompare:@"scm"] == NSOrderedSame) return @"text/x-script.guile";
    if([uc caseInsensitiveCompare:@"scm"] == NSOrderedSame) return @"text/x-script.scheme";
    if([uc caseInsensitiveCompare:@"scm"] == NSOrderedSame) return @"video/x-scm";
    if([uc caseInsensitiveCompare:@"sdml"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"sdp"] == NSOrderedSame) return @"application/sdp";
    if([uc caseInsensitiveCompare:@"sdp"] == NSOrderedSame) return @"application/x-sdp";
    if([uc caseInsensitiveCompare:@"sdr"] == NSOrderedSame) return @"application/sounder";
    if([uc caseInsensitiveCompare:@"sea"] == NSOrderedSame) return @"application/sea";
    if([uc caseInsensitiveCompare:@"sea"] == NSOrderedSame) return @"application/x-sea";
    if([uc caseInsensitiveCompare:@"set"] == NSOrderedSame) return @"application/set";
    if([uc caseInsensitiveCompare:@"sgm"] == NSOrderedSame) return @"text/sgml";
    if([uc caseInsensitiveCompare:@"sgm"] == NSOrderedSame) return @"text/x-sgml";
    if([uc caseInsensitiveCompare:@"sgml"] == NSOrderedSame) return @"text/sgml";
    if([uc caseInsensitiveCompare:@"sgml"] == NSOrderedSame) return @"text/x-sgml";
    if([uc caseInsensitiveCompare:@"sh"] == NSOrderedSame) return @"application/x-bsh";
    if([uc caseInsensitiveCompare:@"sh"] == NSOrderedSame) return @"application/x-sh";
    if([uc caseInsensitiveCompare:@"sh"] == NSOrderedSame) return @"application/x-shar";
    if([uc caseInsensitiveCompare:@"sh"] == NSOrderedSame) return @"text/x-script.sh";
    if([uc caseInsensitiveCompare:@"shar"] == NSOrderedSame) return @"application/x-bsh";
    if([uc caseInsensitiveCompare:@"shar"] == NSOrderedSame) return @"application/x-shar";
    if([uc caseInsensitiveCompare:@"shtml"] == NSOrderedSame) return @"text/html";
    if([uc caseInsensitiveCompare:@"shtml"] == NSOrderedSame) return @"text/x-server-parsed-html";
    if([uc caseInsensitiveCompare:@"sid"] == NSOrderedSame) return @"audio/x-psid";
    if([uc caseInsensitiveCompare:@"sit"] == NSOrderedSame) return @"application/x-sit";
    if([uc caseInsensitiveCompare:@"sit"] == NSOrderedSame) return @"application/x-stuffit";
    if([uc caseInsensitiveCompare:@"skd"] == NSOrderedSame) return @"application/x-koan";
    if([uc caseInsensitiveCompare:@"skm"] == NSOrderedSame) return @"application/x-koan";
    if([uc caseInsensitiveCompare:@"skp"] == NSOrderedSame) return @"application/x-koan";
    if([uc caseInsensitiveCompare:@"skt"] == NSOrderedSame) return @"application/x-koan";
    if([uc caseInsensitiveCompare:@"sl"] == NSOrderedSame) return @"application/x-seelogo";
    if([uc caseInsensitiveCompare:@"smi"] == NSOrderedSame) return @"application/smil";
    if([uc caseInsensitiveCompare:@"smil"] == NSOrderedSame) return @"application/smil";
    if([uc caseInsensitiveCompare:@"snd"] == NSOrderedSame) return @"audio/basic";
    if([uc caseInsensitiveCompare:@"snd"] == NSOrderedSame) return @"audio/x-adpcm";
    if([uc caseInsensitiveCompare:@"sol"] == NSOrderedSame) return @"application/solids";
    if([uc caseInsensitiveCompare:@"spc"] == NSOrderedSame) return @"application/x-pkcs7-certificates";
    if([uc caseInsensitiveCompare:@"spc"] == NSOrderedSame) return @"text/x-speech";
    if([uc caseInsensitiveCompare:@"spl"] == NSOrderedSame) return @"application/futuresplash";
    if([uc caseInsensitiveCompare:@"spr"] == NSOrderedSame) return @"application/x-sprite";
    if([uc caseInsensitiveCompare:@"sprite"] == NSOrderedSame) return @"application/x-sprite";
    if([uc caseInsensitiveCompare:@"src"] == NSOrderedSame) return @"application/x-wais-source";
    if([uc caseInsensitiveCompare:@"ssi"] == NSOrderedSame) return @"text/x-server-parsed-html";
    if([uc caseInsensitiveCompare:@"ssm"] == NSOrderedSame) return @"application/streamingmedia";
    if([uc caseInsensitiveCompare:@"sst"] == NSOrderedSame) return @"application/vnd.ms-pki.certstore";
    if([uc caseInsensitiveCompare:@"step"] == NSOrderedSame) return @"application/step";
    if([uc caseInsensitiveCompare:@"stl"] == NSOrderedSame) return @"application/sla";
    if([uc caseInsensitiveCompare:@"stl"] == NSOrderedSame) return @"application/vnd.ms-pki.stl";
    if([uc caseInsensitiveCompare:@"stl"] == NSOrderedSame) return @"application/x-navistyle";
    if([uc caseInsensitiveCompare:@"stp"] == NSOrderedSame) return @"application/step";
    if([uc caseInsensitiveCompare:@"sv4cpio"] == NSOrderedSame) return @"application/x-sv4cpio";
    if([uc caseInsensitiveCompare:@"sv4crc"] == NSOrderedSame) return @"application/x-sv4crc";
    if([uc caseInsensitiveCompare:@"svf"] == NSOrderedSame) return @"image/vnd.dwg";
    if([uc caseInsensitiveCompare:@"svf"] == NSOrderedSame) return @"image/x-dwg";
    if([uc caseInsensitiveCompare:@"svr"] == NSOrderedSame) return @"application/x-world";
    if([uc caseInsensitiveCompare:@"svr"] == NSOrderedSame) return @"x-world/x-svr";
    if([uc caseInsensitiveCompare:@"swf"] == NSOrderedSame) return @"application/x-shockwave-flash";
    if([uc caseInsensitiveCompare:@"t"] == NSOrderedSame) return @"application/x-troff";
    if([uc caseInsensitiveCompare:@"talk"] == NSOrderedSame) return @"text/x-speech";
    if([uc caseInsensitiveCompare:@"tar"] == NSOrderedSame) return @"application/x-tar";
    if([uc caseInsensitiveCompare:@"tbk"] == NSOrderedSame) return @"application/toolbook";
    if([uc caseInsensitiveCompare:@"tbk"] == NSOrderedSame) return @"application/x-tbook";
    if([uc caseInsensitiveCompare:@"tcl"] == NSOrderedSame) return @"application/x-tcl";
    if([uc caseInsensitiveCompare:@"tcl"] == NSOrderedSame) return @"text/x-script.tcl";
    if([uc caseInsensitiveCompare:@"tcsh"] == NSOrderedSame) return @"text/x-script.tcsh";
    if([uc caseInsensitiveCompare:@"tex"] == NSOrderedSame) return @"application/x-tex";
    if([uc caseInsensitiveCompare:@"texi"] == NSOrderedSame) return @"application/x-texinfo";
    if([uc caseInsensitiveCompare:@"texinfo"] == NSOrderedSame) return @"application/x-texinfo";
    if([uc caseInsensitiveCompare:@"text"] == NSOrderedSame) return @"application/plain";
    if([uc caseInsensitiveCompare:@"text"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"tgz"] == NSOrderedSame) return @"application/gnutar";
    if([uc caseInsensitiveCompare:@"tgz"] == NSOrderedSame) return @"application/x-compressed";
    if([uc caseInsensitiveCompare:@"tif"] == NSOrderedSame) return @"image/tiff";
    if([uc caseInsensitiveCompare:@"tif"] == NSOrderedSame) return @"image/x-tiff";
    if([uc caseInsensitiveCompare:@"tiff"] == NSOrderedSame) return @"image/tiff";
    if([uc caseInsensitiveCompare:@"tiff"] == NSOrderedSame) return @"image/x-tiff";
    if([uc caseInsensitiveCompare:@"tr"] == NSOrderedSame) return @"application/x-troff";
    if([uc caseInsensitiveCompare:@"tsi"] == NSOrderedSame) return @"audio/tsp-audio";
    if([uc caseInsensitiveCompare:@"tsp"] == NSOrderedSame) return @"application/dsptype";
    if([uc caseInsensitiveCompare:@"tsp"] == NSOrderedSame) return @"audio/tsplayer";
    if([uc caseInsensitiveCompare:@"tsv"] == NSOrderedSame) return @"text/tab-separated-values";
    if([uc caseInsensitiveCompare:@"turbot"] == NSOrderedSame) return @"image/florian";
    if([uc caseInsensitiveCompare:@"txt"] == NSOrderedSame) return @"text/plain";
    if([uc caseInsensitiveCompare:@"uil"] == NSOrderedSame) return @"text/x-uil";
    if([uc caseInsensitiveCompare:@"uni"] == NSOrderedSame) return @"text/uri-list";
    if([uc caseInsensitiveCompare:@"unis"] == NSOrderedSame) return @"text/uri-list";
    if([uc caseInsensitiveCompare:@"unv"] == NSOrderedSame) return @"application/i-deas";
    if([uc caseInsensitiveCompare:@"uri"] == NSOrderedSame) return @"text/uri-list";
    if([uc caseInsensitiveCompare:@"uris"] == NSOrderedSame) return @"text/uri-list";
    if([uc caseInsensitiveCompare:@"ustar"] == NSOrderedSame) return @"application/x-ustar";
    if([uc caseInsensitiveCompare:@"ustar"] == NSOrderedSame) return @"multipart/x-ustar";
    if([uc caseInsensitiveCompare:@"uu"] == NSOrderedSame) return @"application/octet-stream";
    if([uc caseInsensitiveCompare:@"uu"] == NSOrderedSame) return @"text/x-uuencode";
    if([uc caseInsensitiveCompare:@"uue"] == NSOrderedSame) return @"text/x-uuencode";
    if([uc caseInsensitiveCompare:@"vcd"] == NSOrderedSame) return @"application/x-cdlink";
    if([uc caseInsensitiveCompare:@"vcs"] == NSOrderedSame) return @"text/x-vcalendar";
    if([uc caseInsensitiveCompare:@"vda"] == NSOrderedSame) return @"application/vda";
    if([uc caseInsensitiveCompare:@"vdo"] == NSOrderedSame) return @"video/vdo";
    if([uc caseInsensitiveCompare:@"vew"] == NSOrderedSame) return @"application/groupwise";
    if([uc caseInsensitiveCompare:@"viv"] == NSOrderedSame) return @"video/vivo";
    if([uc caseInsensitiveCompare:@"viv"] == NSOrderedSame) return @"video/vnd.vivo";
    if([uc caseInsensitiveCompare:@"vivo"] == NSOrderedSame) return @"video/vivo";
    if([uc caseInsensitiveCompare:@"vivo"] == NSOrderedSame) return @"video/vnd.vivo";
    if([uc caseInsensitiveCompare:@"vmd"] == NSOrderedSame) return @"application/vocaltec-media-desc";
    if([uc caseInsensitiveCompare:@"vmf"] == NSOrderedSame) return @"application/vocaltec-media-file";
    if([uc caseInsensitiveCompare:@"voc"] == NSOrderedSame) return @"audio/voc";
    if([uc caseInsensitiveCompare:@"voc"] == NSOrderedSame) return @"audio/x-voc";
    if([uc caseInsensitiveCompare:@"vos"] == NSOrderedSame) return @"video/vosaic";
    if([uc caseInsensitiveCompare:@"vox"] == NSOrderedSame) return @"audio/voxware";
    if([uc caseInsensitiveCompare:@"vqe"] == NSOrderedSame) return @"audio/x-twinvq-plugin";
    if([uc caseInsensitiveCompare:@"vqf"] == NSOrderedSame) return @"audio/x-twinvq";
    if([uc caseInsensitiveCompare:@"vql"] == NSOrderedSame) return @"audio/x-twinvq-plugin";
    if([uc caseInsensitiveCompare:@"vrml"] == NSOrderedSame) return @"application/x-vrml";
    if([uc caseInsensitiveCompare:@"vrml"] == NSOrderedSame) return @"model/vrml";
    if([uc caseInsensitiveCompare:@"vrml"] == NSOrderedSame) return @"x-world/x-vrml";
    if([uc caseInsensitiveCompare:@"vrt"] == NSOrderedSame) return @"x-world/x-vrt";
    if([uc caseInsensitiveCompare:@"vsd"] == NSOrderedSame) return @"application/x-visio";
    if([uc caseInsensitiveCompare:@"vst"] == NSOrderedSame) return @"application/x-visio";
    if([uc caseInsensitiveCompare:@"vsw"] == NSOrderedSame) return @"application/x-visio";
    if([uc caseInsensitiveCompare:@"w60"] == NSOrderedSame) return @"application/wordperfect6.0";
    if([uc caseInsensitiveCompare:@"w61"] == NSOrderedSame) return @"application/wordperfect6.1";
    if([uc caseInsensitiveCompare:@"w6w"] == NSOrderedSame) return @"application/msword";
    if([uc caseInsensitiveCompare:@"wav"] == NSOrderedSame) return @"audio/wav";
    if([uc caseInsensitiveCompare:@"wav"] == NSOrderedSame) return @"audio/x-wav";
    if([uc caseInsensitiveCompare:@"wb1"] == NSOrderedSame) return @"application/x-qpro";
    if([uc caseInsensitiveCompare:@"wbmp"] == NSOrderedSame) return @"image/vnd.wap.wbmp";
    if([uc caseInsensitiveCompare:@"web"] == NSOrderedSame) return @"application/vnd.xara";
    if([uc caseInsensitiveCompare:@"wiz"] == NSOrderedSame) return @"application/msword";
    if([uc caseInsensitiveCompare:@"wk1"] == NSOrderedSame) return @"application/x-123";
    if([uc caseInsensitiveCompare:@"wmf"] == NSOrderedSame) return @"windows/metafile";
    if([uc caseInsensitiveCompare:@"wml"] == NSOrderedSame) return @"text/vnd.wap.wml";
    if([uc caseInsensitiveCompare:@"wmlc"] == NSOrderedSame) return @"application/vnd.wap.wmlc";
    if([uc caseInsensitiveCompare:@"wmls"] == NSOrderedSame) return @"text/vnd.wap.wmlscript";
    if([uc caseInsensitiveCompare:@"wmlsc"] == NSOrderedSame) return @"application/vnd.wap.wmlscriptc";
    if([uc caseInsensitiveCompare:@"word"] == NSOrderedSame) return @"application/msword";
    if([uc caseInsensitiveCompare:@"wp"] == NSOrderedSame) return @"application/wordperfect";
    if([uc caseInsensitiveCompare:@"wp5"] == NSOrderedSame) return @"application/wordperfect";
    if([uc caseInsensitiveCompare:@"wp5"] == NSOrderedSame) return @"application/wordperfect6.0";
    if([uc caseInsensitiveCompare:@"wp6"] == NSOrderedSame) return @"application/wordperfect";
    if([uc caseInsensitiveCompare:@"wpd"] == NSOrderedSame) return @"application/wordperfect";
    if([uc caseInsensitiveCompare:@"wpd"] == NSOrderedSame) return @"application/x-wpwin";
    if([uc caseInsensitiveCompare:@"wq1"] == NSOrderedSame) return @"application/x-lotus";
    if([uc caseInsensitiveCompare:@"wri"] == NSOrderedSame) return @"application/mswrite";
    if([uc caseInsensitiveCompare:@"wri"] == NSOrderedSame) return @"application/x-wri";
    if([uc caseInsensitiveCompare:@"wrl"] == NSOrderedSame) return @"application/x-world";
    if([uc caseInsensitiveCompare:@"wrl"] == NSOrderedSame) return @"model/vrml";
    if([uc caseInsensitiveCompare:@"wrl"] == NSOrderedSame) return @"x-world/x-vrml";
    if([uc caseInsensitiveCompare:@"wrz"] == NSOrderedSame) return @"model/vrml";
    if([uc caseInsensitiveCompare:@"wrz"] == NSOrderedSame) return @"x-world/x-vrml";
    if([uc caseInsensitiveCompare:@"wsc"] == NSOrderedSame) return @"text/scriplet";
    if([uc caseInsensitiveCompare:@"wsrc"] == NSOrderedSame) return @"application/x-wais-source";
    if([uc caseInsensitiveCompare:@"wtk"] == NSOrderedSame) return @"application/x-wintalk";
    if([uc caseInsensitiveCompare:@"xbm"] == NSOrderedSame) return @"image/x-xbitmap";
    if([uc caseInsensitiveCompare:@"xbm"] == NSOrderedSame) return @"image/x-xbm";
    if([uc caseInsensitiveCompare:@"xbm"] == NSOrderedSame) return @"image/xbm";
    if([uc caseInsensitiveCompare:@"xdr"] == NSOrderedSame) return @"video/x-amt-demorun";
    if([uc caseInsensitiveCompare:@"xgz"] == NSOrderedSame) return @"xgl/drawing";
    if([uc caseInsensitiveCompare:@"xif"] == NSOrderedSame) return @"image/vnd.xiff";
    if([uc caseInsensitiveCompare:@"xl"] == NSOrderedSame) return @"application/excel";
    if([uc caseInsensitiveCompare:@"xla"] == NSOrderedSame) return @"application/excel";
    if([uc caseInsensitiveCompare:@"xla"] == NSOrderedSame) return @"application/x-excel";
    if([uc caseInsensitiveCompare:@"xla"] == NSOrderedSame) return @"application/x-msexcel";
    if([uc caseInsensitiveCompare:@"xlb"] == NSOrderedSame) return @"application/excel";
    if([uc caseInsensitiveCompare:@"xlb"] == NSOrderedSame) return @"application/vnd.ms-excel";
    if([uc caseInsensitiveCompare:@"xlb"] == NSOrderedSame) return @"application/x-excel";
    if([uc caseInsensitiveCompare:@"xlc"] == NSOrderedSame) return @"application/excel";
    if([uc caseInsensitiveCompare:@"xlc"] == NSOrderedSame) return @"application/vnd.ms-excel";
    if([uc caseInsensitiveCompare:@"xlc"] == NSOrderedSame) return @"application/x-excel";
    if([uc caseInsensitiveCompare:@"xld"] == NSOrderedSame) return @"application/excel";
    if([uc caseInsensitiveCompare:@"xld"] == NSOrderedSame) return @"application/x-excel";
    if([uc caseInsensitiveCompare:@"xlk"] == NSOrderedSame) return @"application/excel";
    if([uc caseInsensitiveCompare:@"xlk"] == NSOrderedSame) return @"application/x-excel";
    if([uc caseInsensitiveCompare:@"xll"] == NSOrderedSame) return @"application/excel";
    if([uc caseInsensitiveCompare:@"xll"] == NSOrderedSame) return @"application/vnd.ms-excel";
    if([uc caseInsensitiveCompare:@"xll"] == NSOrderedSame) return @"application/x-excel";
    if([uc caseInsensitiveCompare:@"xlm"] == NSOrderedSame) return @"application/excel";
    if([uc caseInsensitiveCompare:@"xlm"] == NSOrderedSame) return @"application/vnd.ms-excel";
    if([uc caseInsensitiveCompare:@"xlm"] == NSOrderedSame) return @"application/x-excel";
    if([uc caseInsensitiveCompare:@"xls"] == NSOrderedSame) return @"application/excel";
    if([uc caseInsensitiveCompare:@"xls"] == NSOrderedSame) return @"application/vnd.ms-excel";
    if([uc caseInsensitiveCompare:@"xls"] == NSOrderedSame) return @"application/x-excel";
    if([uc caseInsensitiveCompare:@"xls"] == NSOrderedSame) return @"application/x-msexcel";
    if([uc caseInsensitiveCompare:@"xlt"] == NSOrderedSame) return @"application/excel";
    if([uc caseInsensitiveCompare:@"xlt"] == NSOrderedSame) return @"application/x-excel";
    if([uc caseInsensitiveCompare:@"xlv"] == NSOrderedSame) return @"application/excel";
    if([uc caseInsensitiveCompare:@"xlv"] == NSOrderedSame) return @"application/x-excel";
    if([uc caseInsensitiveCompare:@"xlw"] == NSOrderedSame) return @"application/excel";
    if([uc caseInsensitiveCompare:@"xlw"] == NSOrderedSame) return @"application/vnd.ms-excel";
    if([uc caseInsensitiveCompare:@"xlw"] == NSOrderedSame) return @"application/x-excel";
    if([uc caseInsensitiveCompare:@"xlw"] == NSOrderedSame) return @"application/x-msexcel";
    if([uc caseInsensitiveCompare:@"xm"] == NSOrderedSame) return @"audio/xm";
    if([uc caseInsensitiveCompare:@"xml"] == NSOrderedSame) return @"application/xml";
    if([uc caseInsensitiveCompare:@"xml"] == NSOrderedSame) return @"text/xml";
    if([uc caseInsensitiveCompare:@"xmz"] == NSOrderedSame) return @"xgl/movie";
    if([uc caseInsensitiveCompare:@"xpix"] == NSOrderedSame) return @"application/x-vnd.ls-xpix";
    if([uc caseInsensitiveCompare:@"xpm"] == NSOrderedSame) return @"image/x-xpixmap";
    if([uc caseInsensitiveCompare:@"xpm"] == NSOrderedSame) return @"image/xpm";
    if([uc caseInsensitiveCompare:@"x-png"] == NSOrderedSame) return @"image/png";
    if([uc caseInsensitiveCompare:@"xsr"] == NSOrderedSame) return @"video/x-amt-showrun";
    if([uc caseInsensitiveCompare:@"xwd"] == NSOrderedSame) return @"image/x-xwd";
    if([uc caseInsensitiveCompare:@"xwd"] == NSOrderedSame) return @"image/x-xwindowdump";
    if([uc caseInsensitiveCompare:@"xyz"] == NSOrderedSame) return @"chemical/x-pdb";
    if([uc caseInsensitiveCompare:@"z"] == NSOrderedSame) return @"application/x-compress";
    if([uc caseInsensitiveCompare:@"z"] == NSOrderedSame) return @"application/x-compressed";
    if([uc caseInsensitiveCompare:@"zip"] == NSOrderedSame) return @"application/x-compressed";
    if([uc caseInsensitiveCompare:@"zip"] == NSOrderedSame) return @"application/x-zip-compressed";
    if([uc caseInsensitiveCompare:@"zip"] == NSOrderedSame) return @"application/zip";
    if([uc caseInsensitiveCompare:@"zip"] == NSOrderedSame) return @"multipart/x-zip";
    if([uc caseInsensitiveCompare:@"zoo"] == NSOrderedSame) return @"application/octet-stream";
    if([uc caseInsensitiveCompare:@"zsh"] == NSOrderedSame) return @"text/x-script.zsh";
return @"unknown/unknown";
}
@end