xref: /vim-8.2.3635/src/version.c (revision 30441bb3)
1 /* vi:set ts=8 sts=4 sw=4 noet:
2  *
3  * VIM - Vi IMproved		by Bram Moolenaar
4  *
5  * Do ":help uganda"  in Vim to read copying and usage conditions.
6  * Do ":help credits" in Vim to see a list of people who contributed.
7  * See README.txt for an overview of the Vim source code.
8  */
9 
10 #include "vim.h"
11 
12 /*
13  * Vim originated from Stevie version 3.6 (Fish disk 217) by GRWalter (Fred)
14  * It has been changed beyond recognition since then.
15  *
16  * Differences between version 7.4 and 8.x can be found with ":help version8".
17  * Differences between version 6.4 and 7.x can be found with ":help version7".
18  * Differences between version 5.8 and 6.x can be found with ":help version6".
19  * Differences between version 4.x and 5.x can be found with ":help version5".
20  * Differences between version 3.0 and 4.x can be found with ":help version4".
21  * All the remarks about older versions have been removed, they are not very
22  * interesting.
23  */
24 
25 #include "version.h"
26 
27 char		*Version = VIM_VERSION_SHORT;
28 static char	*mediumVersion = VIM_VERSION_MEDIUM;
29 
30 #if defined(HAVE_DATE_TIME) || defined(PROTO)
31 # if (defined(VMS) && defined(VAXC)) || defined(PROTO)
32 char	longVersion[sizeof(VIM_VERSION_LONG_DATE) + sizeof(__DATE__)
33 						      + sizeof(__TIME__) + 3];
34 
35     void
36 init_longVersion(void)
37 {
38     /*
39      * Construct the long version string.  Necessary because
40      * VAX C can't concatenate strings in the preprocessor.
41      */
42     strcpy(longVersion, VIM_VERSION_LONG_DATE);
43 #ifdef BUILD_DATE
44     strcat(longVersion, BUILD_DATE);
45 #else
46     strcat(longVersion, __DATE__);
47     strcat(longVersion, " ");
48     strcat(longVersion, __TIME__);
49 #endif
50     strcat(longVersion, ")");
51 }
52 
53 # else
54     void
55 init_longVersion(void)
56 {
57     if (longVersion == NULL)
58     {
59 #ifdef BUILD_DATE
60 	char *date_time = BUILD_DATE;
61 #else
62 	char *date_time = __DATE__ " " __TIME__;
63 #endif
64 	char *msg = _("%s (%s, compiled %s)");
65 	size_t len = strlen(msg)
66 		    + strlen(VIM_VERSION_LONG_ONLY)
67 		    + strlen(VIM_VERSION_DATE_ONLY)
68 		    + strlen(date_time);
69 
70 	longVersion = alloc(len);
71 	if (longVersion == NULL)
72 	    longVersion = VIM_VERSION_LONG;
73 	else
74 	    vim_snprintf(longVersion, len, msg,
75 			  VIM_VERSION_LONG_ONLY, VIM_VERSION_DATE_ONLY, date_time);
76     }
77 }
78 # endif
79 #else
80 char	*longVersion = VIM_VERSION_LONG;
81 
82     void
83 init_longVersion(void)
84 {
85     // nothing to do
86 }
87 #endif
88 
89 static char *(features[]) =
90 {
91 #ifdef HAVE_ACL
92 	"+acl",
93 #else
94 	"-acl",
95 #endif
96 #ifdef AMIGA		// only for Amiga systems
97 # ifdef FEAT_ARP
98 	"+ARP",
99 # else
100 	"-ARP",
101 # endif
102 #endif
103 #ifdef FEAT_ARABIC
104 	"+arabic",
105 #else
106 	"-arabic",
107 #endif
108 	"+autocmd",
109 #ifdef FEAT_AUTOCHDIR
110        "+autochdir",
111 #else
112        "-autochdir",
113 #endif
114 #ifdef FEAT_AUTOSERVERNAME
115 	"+autoservername",
116 #else
117 	"-autoservername",
118 #endif
119 #ifdef FEAT_BEVAL_GUI
120 	"+balloon_eval",
121 #else
122 	"-balloon_eval",
123 #endif
124 #ifdef FEAT_BEVAL_TERM
125 	"+balloon_eval_term",
126 #else
127 	"-balloon_eval_term",
128 #endif
129 #ifdef FEAT_BROWSE
130 	"+browse",
131 #else
132 	"-browse",
133 #endif
134 #ifdef NO_BUILTIN_TCAPS
135 	"-builtin_terms",
136 #endif
137 #ifdef SOME_BUILTIN_TCAPS
138 	"+builtin_terms",
139 #endif
140 #ifdef ALL_BUILTIN_TCAPS
141 	"++builtin_terms",
142 #endif
143 #ifdef FEAT_BYTEOFF
144 	"+byte_offset",
145 #else
146 	"-byte_offset",
147 #endif
148 #ifdef FEAT_JOB_CHANNEL
149 	"+channel",
150 #else
151 	"-channel",
152 #endif
153 #ifdef FEAT_CINDENT
154 	"+cindent",
155 #else
156 	"-cindent",
157 #endif
158 #ifdef FEAT_CLIENTSERVER
159 	"+clientserver",
160 #else
161 	"-clientserver",
162 #endif
163 #ifdef FEAT_CLIPBOARD
164 	"+clipboard",
165 #else
166 	"-clipboard",
167 #endif
168 	"+cmdline_compl",
169 	"+cmdline_hist",
170 #ifdef FEAT_CMDL_INFO
171 	"+cmdline_info",
172 #else
173 	"-cmdline_info",
174 #endif
175 	"+comments",
176 #ifdef FEAT_CONCEAL
177 	"+conceal",
178 #else
179 	"-conceal",
180 #endif
181 #ifdef FEAT_CRYPT
182 	"+cryptv",
183 #else
184 	"-cryptv",
185 #endif
186 #ifdef FEAT_CSCOPE
187 	"+cscope",
188 #else
189 	"-cscope",
190 #endif
191 	"+cursorbind",
192 #ifdef CURSOR_SHAPE
193 	"+cursorshape",
194 #else
195 	"-cursorshape",
196 #endif
197 #if defined(FEAT_CON_DIALOG) && defined(FEAT_GUI_DIALOG)
198 	"+dialog_con_gui",
199 #else
200 # if defined(FEAT_CON_DIALOG)
201 	"+dialog_con",
202 # else
203 #  if defined(FEAT_GUI_DIALOG)
204 	"+dialog_gui",
205 #  else
206 	"-dialog",
207 #  endif
208 # endif
209 #endif
210 #ifdef FEAT_DIFF
211 	"+diff",
212 #else
213 	"-diff",
214 #endif
215 #ifdef FEAT_DIGRAPHS
216 	"+digraphs",
217 #else
218 	"-digraphs",
219 #endif
220 #ifdef FEAT_GUI_MSWIN
221 # ifdef FEAT_DIRECTX
222 	"+directx",
223 # else
224 	"-directx",
225 # endif
226 #endif
227 #ifdef FEAT_DND
228 	"+dnd",
229 #else
230 	"-dnd",
231 #endif
232 #ifdef EBCDIC
233 	"+ebcdic",
234 #else
235 	"-ebcdic",
236 #endif
237 #ifdef FEAT_EMACS_TAGS
238 	"+emacs_tags",
239 #else
240 	"-emacs_tags",
241 #endif
242 #ifdef FEAT_EVAL
243 	"+eval",
244 #else
245 	"-eval",
246 #endif
247 	"+ex_extra",
248 #ifdef FEAT_SEARCH_EXTRA
249 	"+extra_search",
250 #else
251 	"-extra_search",
252 #endif
253 	"-farsi",
254 #ifdef FEAT_SEARCHPATH
255 	"+file_in_path",
256 #else
257 	"-file_in_path",
258 #endif
259 #ifdef FEAT_FIND_ID
260 	"+find_in_path",
261 #else
262 	"-find_in_path",
263 #endif
264 #ifdef FEAT_FLOAT
265 	"+float",
266 #else
267 	"-float",
268 #endif
269 #ifdef FEAT_FOLDING
270 	"+folding",
271 #else
272 	"-folding",
273 #endif
274 #ifdef FEAT_FOOTER
275 	"+footer",
276 #else
277 	"-footer",
278 #endif
279 	    // only interesting on Unix systems
280 #if !defined(USE_SYSTEM) && defined(UNIX)
281 	"+fork()",
282 #endif
283 #ifdef FEAT_GETTEXT
284 # ifdef DYNAMIC_GETTEXT
285 	"+gettext/dyn",
286 # else
287 	"+gettext",
288 # endif
289 #else
290 	"-gettext",
291 #endif
292 	"-hangul_input",
293 #if (defined(HAVE_ICONV_H) && defined(USE_ICONV)) || defined(DYNAMIC_ICONV)
294 # ifdef DYNAMIC_ICONV
295 	"+iconv/dyn",
296 # else
297 	"+iconv",
298 # endif
299 #else
300 	"-iconv",
301 #endif
302 	"+insert_expand",
303 #ifdef FEAT_IPV6
304 	"+ipv6",
305 #else
306 	"-ipv6",
307 #endif
308 #ifdef FEAT_JOB_CHANNEL
309 	"+job",
310 #else
311 	"-job",
312 #endif
313 #ifdef FEAT_JUMPLIST
314 	"+jumplist",
315 #else
316 	"-jumplist",
317 #endif
318 #ifdef FEAT_KEYMAP
319 	"+keymap",
320 #else
321 	"-keymap",
322 #endif
323 #ifdef FEAT_EVAL
324 	"+lambda",
325 #else
326 	"-lambda",
327 #endif
328 #ifdef FEAT_LANGMAP
329 	"+langmap",
330 #else
331 	"-langmap",
332 #endif
333 #ifdef FEAT_LIBCALL
334 	"+libcall",
335 #else
336 	"-libcall",
337 #endif
338 #ifdef FEAT_LINEBREAK
339 	"+linebreak",
340 #else
341 	"-linebreak",
342 #endif
343 #ifdef FEAT_LISP
344 	"+lispindent",
345 #else
346 	"-lispindent",
347 #endif
348 	"+listcmds",
349 	"+localmap",
350 #ifdef FEAT_LUA
351 # ifdef DYNAMIC_LUA
352 	"+lua/dyn",
353 # else
354 	"+lua",
355 # endif
356 #else
357 	"-lua",
358 #endif
359 #ifdef FEAT_MENU
360 	"+menu",
361 #else
362 	"-menu",
363 #endif
364 #ifdef FEAT_SESSION
365 	"+mksession",
366 #else
367 	"-mksession",
368 #endif
369 	"+modify_fname",
370 	"+mouse",
371 #ifdef FEAT_MOUSESHAPE
372 	"+mouseshape",
373 #else
374 	"-mouseshape",
375 #endif
376 
377 #if defined(UNIX) || defined(VMS)
378 # ifdef FEAT_MOUSE_DEC
379 	"+mouse_dec",
380 # else
381 	"-mouse_dec",
382 # endif
383 # ifdef FEAT_MOUSE_GPM
384 	"+mouse_gpm",
385 # else
386 	"-mouse_gpm",
387 # endif
388 # ifdef FEAT_MOUSE_JSB
389 	"+mouse_jsbterm",
390 # else
391 	"-mouse_jsbterm",
392 # endif
393 # ifdef FEAT_MOUSE_NET
394 	"+mouse_netterm",
395 # else
396 	"-mouse_netterm",
397 # endif
398 #endif
399 
400 #ifdef __QNX__
401 # ifdef FEAT_MOUSE_PTERM
402 	"+mouse_pterm",
403 # else
404 	"-mouse_pterm",
405 # endif
406 #endif
407 
408 #if defined(UNIX) || defined(VMS)
409 	"+mouse_sgr",
410 # ifdef FEAT_SYSMOUSE
411 	"+mouse_sysmouse",
412 # else
413 	"-mouse_sysmouse",
414 # endif
415 # ifdef FEAT_MOUSE_URXVT
416 	"+mouse_urxvt",
417 # else
418 	"-mouse_urxvt",
419 # endif
420 	"+mouse_xterm",
421 #endif
422 
423 #ifdef FEAT_MBYTE_IME
424 # ifdef DYNAMIC_IME
425 	"+multi_byte_ime/dyn",
426 # else
427 	"+multi_byte_ime",
428 # endif
429 #else
430 	"+multi_byte",
431 #endif
432 #ifdef FEAT_MULTI_LANG
433 	"+multi_lang",
434 #else
435 	"-multi_lang",
436 #endif
437 #ifdef FEAT_MZSCHEME
438 # ifdef DYNAMIC_MZSCHEME
439 	"+mzscheme/dyn",
440 # else
441 	"+mzscheme",
442 # endif
443 #else
444 	"-mzscheme",
445 #endif
446 #ifdef FEAT_NETBEANS_INTG
447 	"+netbeans_intg",
448 #else
449 	"-netbeans_intg",
450 #endif
451 	"+num64",
452 #ifdef FEAT_GUI_MSWIN
453 # ifdef FEAT_OLE
454 	"+ole",
455 # else
456 	"-ole",
457 # endif
458 #endif
459 #ifdef FEAT_EVAL
460 	"+packages",
461 #else
462 	"-packages",
463 #endif
464 #ifdef FEAT_PATH_EXTRA
465 	"+path_extra",
466 #else
467 	"-path_extra",
468 #endif
469 #ifdef FEAT_PERL
470 # ifdef DYNAMIC_PERL
471 	"+perl/dyn",
472 # else
473 	"+perl",
474 # endif
475 #else
476 	"-perl",
477 #endif
478 #ifdef FEAT_PERSISTENT_UNDO
479 	"+persistent_undo",
480 #else
481 	"-persistent_undo",
482 #endif
483 #ifdef FEAT_PROP_POPUP
484 	"+popupwin",
485 #else
486 	"-popupwin",
487 #endif
488 #ifdef FEAT_PRINTER
489 # ifdef FEAT_POSTSCRIPT
490 	"+postscript",
491 # else
492 	"-postscript",
493 # endif
494 	"+printer",
495 #else
496 	"-printer",
497 #endif
498 #ifdef FEAT_PROFILE
499 	"+profile",
500 #else
501 	"-profile",
502 #endif
503 #ifdef FEAT_PYTHON
504 # ifdef DYNAMIC_PYTHON
505 	"+python/dyn",
506 # else
507 	"+python",
508 # endif
509 #else
510 	"-python",
511 #endif
512 #ifdef FEAT_PYTHON3
513 # ifdef DYNAMIC_PYTHON3
514 	"+python3/dyn",
515 # else
516 	"+python3",
517 # endif
518 #else
519 	"-python3",
520 #endif
521 #ifdef FEAT_QUICKFIX
522 	"+quickfix",
523 #else
524 	"-quickfix",
525 #endif
526 #ifdef FEAT_RELTIME
527 	"+reltime",
528 #else
529 	"-reltime",
530 #endif
531 #ifdef FEAT_RIGHTLEFT
532 	"+rightleft",
533 #else
534 	"-rightleft",
535 #endif
536 #ifdef FEAT_RUBY
537 # ifdef DYNAMIC_RUBY
538 	"+ruby/dyn",
539 # else
540 	"+ruby",
541 # endif
542 #else
543 	"-ruby",
544 #endif
545 	"+scrollbind",
546 #ifdef FEAT_SIGNS
547 	"+signs",
548 #else
549 	"-signs",
550 #endif
551 #ifdef FEAT_SMARTINDENT
552 	"+smartindent",
553 #else
554 	"-smartindent",
555 #endif
556 #ifdef FEAT_SODIUM
557 	"+sodium",
558 #else
559 	"-sodium",
560 #endif
561 #ifdef FEAT_SOUND
562 	"+sound",
563 #else
564 	"-sound",
565 #endif
566 #ifdef FEAT_SPELL
567 	"+spell",
568 #else
569 	"-spell",
570 #endif
571 #ifdef STARTUPTIME
572 	"+startuptime",
573 #else
574 	"-startuptime",
575 #endif
576 #ifdef FEAT_STL_OPT
577 	"+statusline",
578 #else
579 	"-statusline",
580 #endif
581 	"-sun_workshop",
582 #ifdef FEAT_SYN_HL
583 	"+syntax",
584 #else
585 	"-syntax",
586 #endif
587 	    // only interesting on Unix systems
588 #if defined(USE_SYSTEM) && defined(UNIX)
589 	"+system()",
590 #endif
591 #ifdef FEAT_TAG_BINS
592 	"+tag_binary",
593 #else
594 	"-tag_binary",
595 #endif
596 	"-tag_old_static",
597 	"-tag_any_white",
598 #ifdef FEAT_TCL
599 # ifdef DYNAMIC_TCL
600 	"+tcl/dyn",
601 # else
602 	"+tcl",
603 # endif
604 #else
605 	"-tcl",
606 #endif
607 #ifdef FEAT_TERMGUICOLORS
608 	"+termguicolors",
609 #else
610 	"-termguicolors",
611 #endif
612 #ifdef FEAT_TERMINAL
613 	"+terminal",
614 #else
615 	"-terminal",
616 #endif
617 #if defined(UNIX)
618 // only Unix can have terminfo instead of termcap
619 # ifdef TERMINFO
620 	"+terminfo",
621 # else
622 	"-terminfo",
623 # endif
624 #endif
625 #ifdef FEAT_TERMRESPONSE
626 	"+termresponse",
627 #else
628 	"-termresponse",
629 #endif
630 #ifdef FEAT_TEXTOBJ
631 	"+textobjects",
632 #else
633 	"-textobjects",
634 #endif
635 #ifdef FEAT_PROP_POPUP
636 	"+textprop",
637 #else
638 	"-textprop",
639 #endif
640 #if !defined(UNIX)
641 // unix always includes termcap support
642 # ifdef HAVE_TGETENT
643 	"+tgetent",
644 # else
645 	"-tgetent",
646 # endif
647 #endif
648 #ifdef FEAT_TIMERS
649 	"+timers",
650 #else
651 	"-timers",
652 #endif
653 #ifdef FEAT_TITLE
654 	"+title",
655 #else
656 	"-title",
657 #endif
658 #ifdef FEAT_TOOLBAR
659 	"+toolbar",
660 #else
661 	"-toolbar",
662 #endif
663 	"+user_commands",
664 #ifdef FEAT_VARTABS
665 	"+vartabs",
666 #else
667 	"-vartabs",
668 #endif
669 	"+vertsplit",
670 	"+virtualedit",
671 	"+visual",
672 	"+visualextra",
673 #ifdef FEAT_VIMINFO
674 	"+viminfo",
675 #else
676 	"-viminfo",
677 #endif
678 	"+vreplace",
679 #ifdef MSWIN
680 # ifdef FEAT_VTP
681 	"+vtp",
682 # else
683 	"-vtp",
684 # endif
685 #endif
686 #ifdef FEAT_WILDIGN
687 	"+wildignore",
688 #else
689 	"-wildignore",
690 #endif
691 #ifdef FEAT_WILDMENU
692 	"+wildmenu",
693 #else
694 	"-wildmenu",
695 #endif
696 	"+windows",
697 #ifdef FEAT_WRITEBACKUP
698 	"+writebackup",
699 #else
700 	"-writebackup",
701 #endif
702 #if defined(UNIX) || defined(VMS)
703 # ifdef FEAT_X11
704 	"+X11",
705 # else
706 	"-X11",
707 # endif
708 #endif
709 #ifdef FEAT_XFONTSET
710 	"+xfontset",
711 #else
712 	"-xfontset",
713 #endif
714 #ifdef FEAT_XIM
715 	"+xim",
716 #else
717 	"-xim",
718 #endif
719 #ifdef MSWIN
720 # ifdef FEAT_XPM_W32
721 	"+xpm_w32",
722 # else
723 	"-xpm_w32",
724 # endif
725 #else
726 # ifdef HAVE_XPM
727 	"+xpm",
728 # else
729 	"-xpm",
730 # endif
731 #endif
732 #if defined(UNIX) || defined(VMS)
733 # ifdef USE_XSMP_INTERACT
734 	"+xsmp_interact",
735 # else
736 #  ifdef USE_XSMP
737 	"+xsmp",
738 #  else
739 	"-xsmp",
740 #  endif
741 # endif
742 # ifdef FEAT_XCLIPBOARD
743 	"+xterm_clipboard",
744 # else
745 	"-xterm_clipboard",
746 # endif
747 #endif
748 #ifdef FEAT_XTERM_SAVE
749 	"+xterm_save",
750 #else
751 	"-xterm_save",
752 #endif
753 	NULL
754 };
755 
756 static int included_patches[] =
757 {   /* Add new patch number below this line */
758 /**/
759     3122,
760 /**/
761     3121,
762 /**/
763     3120,
764 /**/
765     3119,
766 /**/
767     3118,
768 /**/
769     3117,
770 /**/
771     3116,
772 /**/
773     3115,
774 /**/
775     3114,
776 /**/
777     3113,
778 /**/
779     3112,
780 /**/
781     3111,
782 /**/
783     3110,
784 /**/
785     3109,
786 /**/
787     3108,
788 /**/
789     3107,
790 /**/
791     3106,
792 /**/
793     3105,
794 /**/
795     3104,
796 /**/
797     3103,
798 /**/
799     3102,
800 /**/
801     3101,
802 /**/
803     3100,
804 /**/
805     3099,
806 /**/
807     3098,
808 /**/
809     3097,
810 /**/
811     3096,
812 /**/
813     3095,
814 /**/
815     3094,
816 /**/
817     3093,
818 /**/
819     3092,
820 /**/
821     3091,
822 /**/
823     3090,
824 /**/
825     3089,
826 /**/
827     3088,
828 /**/
829     3087,
830 /**/
831     3086,
832 /**/
833     3085,
834 /**/
835     3084,
836 /**/
837     3083,
838 /**/
839     3082,
840 /**/
841     3081,
842 /**/
843     3080,
844 /**/
845     3079,
846 /**/
847     3078,
848 /**/
849     3077,
850 /**/
851     3076,
852 /**/
853     3075,
854 /**/
855     3074,
856 /**/
857     3073,
858 /**/
859     3072,
860 /**/
861     3071,
862 /**/
863     3070,
864 /**/
865     3069,
866 /**/
867     3068,
868 /**/
869     3067,
870 /**/
871     3066,
872 /**/
873     3065,
874 /**/
875     3064,
876 /**/
877     3063,
878 /**/
879     3062,
880 /**/
881     3061,
882 /**/
883     3060,
884 /**/
885     3059,
886 /**/
887     3058,
888 /**/
889     3057,
890 /**/
891     3056,
892 /**/
893     3055,
894 /**/
895     3054,
896 /**/
897     3053,
898 /**/
899     3052,
900 /**/
901     3051,
902 /**/
903     3050,
904 /**/
905     3049,
906 /**/
907     3048,
908 /**/
909     3047,
910 /**/
911     3046,
912 /**/
913     3045,
914 /**/
915     3044,
916 /**/
917     3043,
918 /**/
919     3042,
920 /**/
921     3041,
922 /**/
923     3040,
924 /**/
925     3039,
926 /**/
927     3038,
928 /**/
929     3037,
930 /**/
931     3036,
932 /**/
933     3035,
934 /**/
935     3034,
936 /**/
937     3033,
938 /**/
939     3032,
940 /**/
941     3031,
942 /**/
943     3030,
944 /**/
945     3029,
946 /**/
947     3028,
948 /**/
949     3027,
950 /**/
951     3026,
952 /**/
953     3025,
954 /**/
955     3024,
956 /**/
957     3023,
958 /**/
959     3022,
960 /**/
961     3021,
962 /**/
963     3020,
964 /**/
965     3019,
966 /**/
967     3018,
968 /**/
969     3017,
970 /**/
971     3016,
972 /**/
973     3015,
974 /**/
975     3014,
976 /**/
977     3013,
978 /**/
979     3012,
980 /**/
981     3011,
982 /**/
983     3010,
984 /**/
985     3009,
986 /**/
987     3008,
988 /**/
989     3007,
990 /**/
991     3006,
992 /**/
993     3005,
994 /**/
995     3004,
996 /**/
997     3003,
998 /**/
999     3002,
1000 /**/
1001     3001,
1002 /**/
1003     3000,
1004 /**/
1005     2999,
1006 /**/
1007     2998,
1008 /**/
1009     2997,
1010 /**/
1011     2996,
1012 /**/
1013     2995,
1014 /**/
1015     2994,
1016 /**/
1017     2993,
1018 /**/
1019     2992,
1020 /**/
1021     2991,
1022 /**/
1023     2990,
1024 /**/
1025     2989,
1026 /**/
1027     2988,
1028 /**/
1029     2987,
1030 /**/
1031     2986,
1032 /**/
1033     2985,
1034 /**/
1035     2984,
1036 /**/
1037     2983,
1038 /**/
1039     2982,
1040 /**/
1041     2981,
1042 /**/
1043     2980,
1044 /**/
1045     2979,
1046 /**/
1047     2978,
1048 /**/
1049     2977,
1050 /**/
1051     2976,
1052 /**/
1053     2975,
1054 /**/
1055     2974,
1056 /**/
1057     2973,
1058 /**/
1059     2972,
1060 /**/
1061     2971,
1062 /**/
1063     2970,
1064 /**/
1065     2969,
1066 /**/
1067     2968,
1068 /**/
1069     2967,
1070 /**/
1071     2966,
1072 /**/
1073     2965,
1074 /**/
1075     2964,
1076 /**/
1077     2963,
1078 /**/
1079     2962,
1080 /**/
1081     2961,
1082 /**/
1083     2960,
1084 /**/
1085     2959,
1086 /**/
1087     2958,
1088 /**/
1089     2957,
1090 /**/
1091     2956,
1092 /**/
1093     2955,
1094 /**/
1095     2954,
1096 /**/
1097     2953,
1098 /**/
1099     2952,
1100 /**/
1101     2951,
1102 /**/
1103     2950,
1104 /**/
1105     2949,
1106 /**/
1107     2948,
1108 /**/
1109     2947,
1110 /**/
1111     2946,
1112 /**/
1113     2945,
1114 /**/
1115     2944,
1116 /**/
1117     2943,
1118 /**/
1119     2942,
1120 /**/
1121     2941,
1122 /**/
1123     2940,
1124 /**/
1125     2939,
1126 /**/
1127     2938,
1128 /**/
1129     2937,
1130 /**/
1131     2936,
1132 /**/
1133     2935,
1134 /**/
1135     2934,
1136 /**/
1137     2933,
1138 /**/
1139     2932,
1140 /**/
1141     2931,
1142 /**/
1143     2930,
1144 /**/
1145     2929,
1146 /**/
1147     2928,
1148 /**/
1149     2927,
1150 /**/
1151     2926,
1152 /**/
1153     2925,
1154 /**/
1155     2924,
1156 /**/
1157     2923,
1158 /**/
1159     2922,
1160 /**/
1161     2921,
1162 /**/
1163     2920,
1164 /**/
1165     2919,
1166 /**/
1167     2918,
1168 /**/
1169     2917,
1170 /**/
1171     2916,
1172 /**/
1173     2915,
1174 /**/
1175     2914,
1176 /**/
1177     2913,
1178 /**/
1179     2912,
1180 /**/
1181     2911,
1182 /**/
1183     2910,
1184 /**/
1185     2909,
1186 /**/
1187     2908,
1188 /**/
1189     2907,
1190 /**/
1191     2906,
1192 /**/
1193     2905,
1194 /**/
1195     2904,
1196 /**/
1197     2903,
1198 /**/
1199     2902,
1200 /**/
1201     2901,
1202 /**/
1203     2900,
1204 /**/
1205     2899,
1206 /**/
1207     2898,
1208 /**/
1209     2897,
1210 /**/
1211     2896,
1212 /**/
1213     2895,
1214 /**/
1215     2894,
1216 /**/
1217     2893,
1218 /**/
1219     2892,
1220 /**/
1221     2891,
1222 /**/
1223     2890,
1224 /**/
1225     2889,
1226 /**/
1227     2888,
1228 /**/
1229     2887,
1230 /**/
1231     2886,
1232 /**/
1233     2885,
1234 /**/
1235     2884,
1236 /**/
1237     2883,
1238 /**/
1239     2882,
1240 /**/
1241     2881,
1242 /**/
1243     2880,
1244 /**/
1245     2879,
1246 /**/
1247     2878,
1248 /**/
1249     2877,
1250 /**/
1251     2876,
1252 /**/
1253     2875,
1254 /**/
1255     2874,
1256 /**/
1257     2873,
1258 /**/
1259     2872,
1260 /**/
1261     2871,
1262 /**/
1263     2870,
1264 /**/
1265     2869,
1266 /**/
1267     2868,
1268 /**/
1269     2867,
1270 /**/
1271     2866,
1272 /**/
1273     2865,
1274 /**/
1275     2864,
1276 /**/
1277     2863,
1278 /**/
1279     2862,
1280 /**/
1281     2861,
1282 /**/
1283     2860,
1284 /**/
1285     2859,
1286 /**/
1287     2858,
1288 /**/
1289     2857,
1290 /**/
1291     2856,
1292 /**/
1293     2855,
1294 /**/
1295     2854,
1296 /**/
1297     2853,
1298 /**/
1299     2852,
1300 /**/
1301     2851,
1302 /**/
1303     2850,
1304 /**/
1305     2849,
1306 /**/
1307     2848,
1308 /**/
1309     2847,
1310 /**/
1311     2846,
1312 /**/
1313     2845,
1314 /**/
1315     2844,
1316 /**/
1317     2843,
1318 /**/
1319     2842,
1320 /**/
1321     2841,
1322 /**/
1323     2840,
1324 /**/
1325     2839,
1326 /**/
1327     2838,
1328 /**/
1329     2837,
1330 /**/
1331     2836,
1332 /**/
1333     2835,
1334 /**/
1335     2834,
1336 /**/
1337     2833,
1338 /**/
1339     2832,
1340 /**/
1341     2831,
1342 /**/
1343     2830,
1344 /**/
1345     2829,
1346 /**/
1347     2828,
1348 /**/
1349     2827,
1350 /**/
1351     2826,
1352 /**/
1353     2825,
1354 /**/
1355     2824,
1356 /**/
1357     2823,
1358 /**/
1359     2822,
1360 /**/
1361     2821,
1362 /**/
1363     2820,
1364 /**/
1365     2819,
1366 /**/
1367     2818,
1368 /**/
1369     2817,
1370 /**/
1371     2816,
1372 /**/
1373     2815,
1374 /**/
1375     2814,
1376 /**/
1377     2813,
1378 /**/
1379     2812,
1380 /**/
1381     2811,
1382 /**/
1383     2810,
1384 /**/
1385     2809,
1386 /**/
1387     2808,
1388 /**/
1389     2807,
1390 /**/
1391     2806,
1392 /**/
1393     2805,
1394 /**/
1395     2804,
1396 /**/
1397     2803,
1398 /**/
1399     2802,
1400 /**/
1401     2801,
1402 /**/
1403     2800,
1404 /**/
1405     2799,
1406 /**/
1407     2798,
1408 /**/
1409     2797,
1410 /**/
1411     2796,
1412 /**/
1413     2795,
1414 /**/
1415     2794,
1416 /**/
1417     2793,
1418 /**/
1419     2792,
1420 /**/
1421     2791,
1422 /**/
1423     2790,
1424 /**/
1425     2789,
1426 /**/
1427     2788,
1428 /**/
1429     2787,
1430 /**/
1431     2786,
1432 /**/
1433     2785,
1434 /**/
1435     2784,
1436 /**/
1437     2783,
1438 /**/
1439     2782,
1440 /**/
1441     2781,
1442 /**/
1443     2780,
1444 /**/
1445     2779,
1446 /**/
1447     2778,
1448 /**/
1449     2777,
1450 /**/
1451     2776,
1452 /**/
1453     2775,
1454 /**/
1455     2774,
1456 /**/
1457     2773,
1458 /**/
1459     2772,
1460 /**/
1461     2771,
1462 /**/
1463     2770,
1464 /**/
1465     2769,
1466 /**/
1467     2768,
1468 /**/
1469     2767,
1470 /**/
1471     2766,
1472 /**/
1473     2765,
1474 /**/
1475     2764,
1476 /**/
1477     2763,
1478 /**/
1479     2762,
1480 /**/
1481     2761,
1482 /**/
1483     2760,
1484 /**/
1485     2759,
1486 /**/
1487     2758,
1488 /**/
1489     2757,
1490 /**/
1491     2756,
1492 /**/
1493     2755,
1494 /**/
1495     2754,
1496 /**/
1497     2753,
1498 /**/
1499     2752,
1500 /**/
1501     2751,
1502 /**/
1503     2750,
1504 /**/
1505     2749,
1506 /**/
1507     2748,
1508 /**/
1509     2747,
1510 /**/
1511     2746,
1512 /**/
1513     2745,
1514 /**/
1515     2744,
1516 /**/
1517     2743,
1518 /**/
1519     2742,
1520 /**/
1521     2741,
1522 /**/
1523     2740,
1524 /**/
1525     2739,
1526 /**/
1527     2738,
1528 /**/
1529     2737,
1530 /**/
1531     2736,
1532 /**/
1533     2735,
1534 /**/
1535     2734,
1536 /**/
1537     2733,
1538 /**/
1539     2732,
1540 /**/
1541     2731,
1542 /**/
1543     2730,
1544 /**/
1545     2729,
1546 /**/
1547     2728,
1548 /**/
1549     2727,
1550 /**/
1551     2726,
1552 /**/
1553     2725,
1554 /**/
1555     2724,
1556 /**/
1557     2723,
1558 /**/
1559     2722,
1560 /**/
1561     2721,
1562 /**/
1563     2720,
1564 /**/
1565     2719,
1566 /**/
1567     2718,
1568 /**/
1569     2717,
1570 /**/
1571     2716,
1572 /**/
1573     2715,
1574 /**/
1575     2714,
1576 /**/
1577     2713,
1578 /**/
1579     2712,
1580 /**/
1581     2711,
1582 /**/
1583     2710,
1584 /**/
1585     2709,
1586 /**/
1587     2708,
1588 /**/
1589     2707,
1590 /**/
1591     2706,
1592 /**/
1593     2705,
1594 /**/
1595     2704,
1596 /**/
1597     2703,
1598 /**/
1599     2702,
1600 /**/
1601     2701,
1602 /**/
1603     2700,
1604 /**/
1605     2699,
1606 /**/
1607     2698,
1608 /**/
1609     2697,
1610 /**/
1611     2696,
1612 /**/
1613     2695,
1614 /**/
1615     2694,
1616 /**/
1617     2693,
1618 /**/
1619     2692,
1620 /**/
1621     2691,
1622 /**/
1623     2690,
1624 /**/
1625     2689,
1626 /**/
1627     2688,
1628 /**/
1629     2687,
1630 /**/
1631     2686,
1632 /**/
1633     2685,
1634 /**/
1635     2684,
1636 /**/
1637     2683,
1638 /**/
1639     2682,
1640 /**/
1641     2681,
1642 /**/
1643     2680,
1644 /**/
1645     2679,
1646 /**/
1647     2678,
1648 /**/
1649     2677,
1650 /**/
1651     2676,
1652 /**/
1653     2675,
1654 /**/
1655     2674,
1656 /**/
1657     2673,
1658 /**/
1659     2672,
1660 /**/
1661     2671,
1662 /**/
1663     2670,
1664 /**/
1665     2669,
1666 /**/
1667     2668,
1668 /**/
1669     2667,
1670 /**/
1671     2666,
1672 /**/
1673     2665,
1674 /**/
1675     2664,
1676 /**/
1677     2663,
1678 /**/
1679     2662,
1680 /**/
1681     2661,
1682 /**/
1683     2660,
1684 /**/
1685     2659,
1686 /**/
1687     2658,
1688 /**/
1689     2657,
1690 /**/
1691     2656,
1692 /**/
1693     2655,
1694 /**/
1695     2654,
1696 /**/
1697     2653,
1698 /**/
1699     2652,
1700 /**/
1701     2651,
1702 /**/
1703     2650,
1704 /**/
1705     2649,
1706 /**/
1707     2648,
1708 /**/
1709     2647,
1710 /**/
1711     2646,
1712 /**/
1713     2645,
1714 /**/
1715     2644,
1716 /**/
1717     2643,
1718 /**/
1719     2642,
1720 /**/
1721     2641,
1722 /**/
1723     2640,
1724 /**/
1725     2639,
1726 /**/
1727     2638,
1728 /**/
1729     2637,
1730 /**/
1731     2636,
1732 /**/
1733     2635,
1734 /**/
1735     2634,
1736 /**/
1737     2633,
1738 /**/
1739     2632,
1740 /**/
1741     2631,
1742 /**/
1743     2630,
1744 /**/
1745     2629,
1746 /**/
1747     2628,
1748 /**/
1749     2627,
1750 /**/
1751     2626,
1752 /**/
1753     2625,
1754 /**/
1755     2624,
1756 /**/
1757     2623,
1758 /**/
1759     2622,
1760 /**/
1761     2621,
1762 /**/
1763     2620,
1764 /**/
1765     2619,
1766 /**/
1767     2618,
1768 /**/
1769     2617,
1770 /**/
1771     2616,
1772 /**/
1773     2615,
1774 /**/
1775     2614,
1776 /**/
1777     2613,
1778 /**/
1779     2612,
1780 /**/
1781     2611,
1782 /**/
1783     2610,
1784 /**/
1785     2609,
1786 /**/
1787     2608,
1788 /**/
1789     2607,
1790 /**/
1791     2606,
1792 /**/
1793     2605,
1794 /**/
1795     2604,
1796 /**/
1797     2603,
1798 /**/
1799     2602,
1800 /**/
1801     2601,
1802 /**/
1803     2600,
1804 /**/
1805     2599,
1806 /**/
1807     2598,
1808 /**/
1809     2597,
1810 /**/
1811     2596,
1812 /**/
1813     2595,
1814 /**/
1815     2594,
1816 /**/
1817     2593,
1818 /**/
1819     2592,
1820 /**/
1821     2591,
1822 /**/
1823     2590,
1824 /**/
1825     2589,
1826 /**/
1827     2588,
1828 /**/
1829     2587,
1830 /**/
1831     2586,
1832 /**/
1833     2585,
1834 /**/
1835     2584,
1836 /**/
1837     2583,
1838 /**/
1839     2582,
1840 /**/
1841     2581,
1842 /**/
1843     2580,
1844 /**/
1845     2579,
1846 /**/
1847     2578,
1848 /**/
1849     2577,
1850 /**/
1851     2576,
1852 /**/
1853     2575,
1854 /**/
1855     2574,
1856 /**/
1857     2573,
1858 /**/
1859     2572,
1860 /**/
1861     2571,
1862 /**/
1863     2570,
1864 /**/
1865     2569,
1866 /**/
1867     2568,
1868 /**/
1869     2567,
1870 /**/
1871     2566,
1872 /**/
1873     2565,
1874 /**/
1875     2564,
1876 /**/
1877     2563,
1878 /**/
1879     2562,
1880 /**/
1881     2561,
1882 /**/
1883     2560,
1884 /**/
1885     2559,
1886 /**/
1887     2558,
1888 /**/
1889     2557,
1890 /**/
1891     2556,
1892 /**/
1893     2555,
1894 /**/
1895     2554,
1896 /**/
1897     2553,
1898 /**/
1899     2552,
1900 /**/
1901     2551,
1902 /**/
1903     2550,
1904 /**/
1905     2549,
1906 /**/
1907     2548,
1908 /**/
1909     2547,
1910 /**/
1911     2546,
1912 /**/
1913     2545,
1914 /**/
1915     2544,
1916 /**/
1917     2543,
1918 /**/
1919     2542,
1920 /**/
1921     2541,
1922 /**/
1923     2540,
1924 /**/
1925     2539,
1926 /**/
1927     2538,
1928 /**/
1929     2537,
1930 /**/
1931     2536,
1932 /**/
1933     2535,
1934 /**/
1935     2534,
1936 /**/
1937     2533,
1938 /**/
1939     2532,
1940 /**/
1941     2531,
1942 /**/
1943     2530,
1944 /**/
1945     2529,
1946 /**/
1947     2528,
1948 /**/
1949     2527,
1950 /**/
1951     2526,
1952 /**/
1953     2525,
1954 /**/
1955     2524,
1956 /**/
1957     2523,
1958 /**/
1959     2522,
1960 /**/
1961     2521,
1962 /**/
1963     2520,
1964 /**/
1965     2519,
1966 /**/
1967     2518,
1968 /**/
1969     2517,
1970 /**/
1971     2516,
1972 /**/
1973     2515,
1974 /**/
1975     2514,
1976 /**/
1977     2513,
1978 /**/
1979     2512,
1980 /**/
1981     2511,
1982 /**/
1983     2510,
1984 /**/
1985     2509,
1986 /**/
1987     2508,
1988 /**/
1989     2507,
1990 /**/
1991     2506,
1992 /**/
1993     2505,
1994 /**/
1995     2504,
1996 /**/
1997     2503,
1998 /**/
1999     2502,
2000 /**/
2001     2501,
2002 /**/
2003     2500,
2004 /**/
2005     2499,
2006 /**/
2007     2498,
2008 /**/
2009     2497,
2010 /**/
2011     2496,
2012 /**/
2013     2495,
2014 /**/
2015     2494,
2016 /**/
2017     2493,
2018 /**/
2019     2492,
2020 /**/
2021     2491,
2022 /**/
2023     2490,
2024 /**/
2025     2489,
2026 /**/
2027     2488,
2028 /**/
2029     2487,
2030 /**/
2031     2486,
2032 /**/
2033     2485,
2034 /**/
2035     2484,
2036 /**/
2037     2483,
2038 /**/
2039     2482,
2040 /**/
2041     2481,
2042 /**/
2043     2480,
2044 /**/
2045     2479,
2046 /**/
2047     2478,
2048 /**/
2049     2477,
2050 /**/
2051     2476,
2052 /**/
2053     2475,
2054 /**/
2055     2474,
2056 /**/
2057     2473,
2058 /**/
2059     2472,
2060 /**/
2061     2471,
2062 /**/
2063     2470,
2064 /**/
2065     2469,
2066 /**/
2067     2468,
2068 /**/
2069     2467,
2070 /**/
2071     2466,
2072 /**/
2073     2465,
2074 /**/
2075     2464,
2076 /**/
2077     2463,
2078 /**/
2079     2462,
2080 /**/
2081     2461,
2082 /**/
2083     2460,
2084 /**/
2085     2459,
2086 /**/
2087     2458,
2088 /**/
2089     2457,
2090 /**/
2091     2456,
2092 /**/
2093     2455,
2094 /**/
2095     2454,
2096 /**/
2097     2453,
2098 /**/
2099     2452,
2100 /**/
2101     2451,
2102 /**/
2103     2450,
2104 /**/
2105     2449,
2106 /**/
2107     2448,
2108 /**/
2109     2447,
2110 /**/
2111     2446,
2112 /**/
2113     2445,
2114 /**/
2115     2444,
2116 /**/
2117     2443,
2118 /**/
2119     2442,
2120 /**/
2121     2441,
2122 /**/
2123     2440,
2124 /**/
2125     2439,
2126 /**/
2127     2438,
2128 /**/
2129     2437,
2130 /**/
2131     2436,
2132 /**/
2133     2435,
2134 /**/
2135     2434,
2136 /**/
2137     2433,
2138 /**/
2139     2432,
2140 /**/
2141     2431,
2142 /**/
2143     2430,
2144 /**/
2145     2429,
2146 /**/
2147     2428,
2148 /**/
2149     2427,
2150 /**/
2151     2426,
2152 /**/
2153     2425,
2154 /**/
2155     2424,
2156 /**/
2157     2423,
2158 /**/
2159     2422,
2160 /**/
2161     2421,
2162 /**/
2163     2420,
2164 /**/
2165     2419,
2166 /**/
2167     2418,
2168 /**/
2169     2417,
2170 /**/
2171     2416,
2172 /**/
2173     2415,
2174 /**/
2175     2414,
2176 /**/
2177     2413,
2178 /**/
2179     2412,
2180 /**/
2181     2411,
2182 /**/
2183     2410,
2184 /**/
2185     2409,
2186 /**/
2187     2408,
2188 /**/
2189     2407,
2190 /**/
2191     2406,
2192 /**/
2193     2405,
2194 /**/
2195     2404,
2196 /**/
2197     2403,
2198 /**/
2199     2402,
2200 /**/
2201     2401,
2202 /**/
2203     2400,
2204 /**/
2205     2399,
2206 /**/
2207     2398,
2208 /**/
2209     2397,
2210 /**/
2211     2396,
2212 /**/
2213     2395,
2214 /**/
2215     2394,
2216 /**/
2217     2393,
2218 /**/
2219     2392,
2220 /**/
2221     2391,
2222 /**/
2223     2390,
2224 /**/
2225     2389,
2226 /**/
2227     2388,
2228 /**/
2229     2387,
2230 /**/
2231     2386,
2232 /**/
2233     2385,
2234 /**/
2235     2384,
2236 /**/
2237     2383,
2238 /**/
2239     2382,
2240 /**/
2241     2381,
2242 /**/
2243     2380,
2244 /**/
2245     2379,
2246 /**/
2247     2378,
2248 /**/
2249     2377,
2250 /**/
2251     2376,
2252 /**/
2253     2375,
2254 /**/
2255     2374,
2256 /**/
2257     2373,
2258 /**/
2259     2372,
2260 /**/
2261     2371,
2262 /**/
2263     2370,
2264 /**/
2265     2369,
2266 /**/
2267     2368,
2268 /**/
2269     2367,
2270 /**/
2271     2366,
2272 /**/
2273     2365,
2274 /**/
2275     2364,
2276 /**/
2277     2363,
2278 /**/
2279     2362,
2280 /**/
2281     2361,
2282 /**/
2283     2360,
2284 /**/
2285     2359,
2286 /**/
2287     2358,
2288 /**/
2289     2357,
2290 /**/
2291     2356,
2292 /**/
2293     2355,
2294 /**/
2295     2354,
2296 /**/
2297     2353,
2298 /**/
2299     2352,
2300 /**/
2301     2351,
2302 /**/
2303     2350,
2304 /**/
2305     2349,
2306 /**/
2307     2348,
2308 /**/
2309     2347,
2310 /**/
2311     2346,
2312 /**/
2313     2345,
2314 /**/
2315     2344,
2316 /**/
2317     2343,
2318 /**/
2319     2342,
2320 /**/
2321     2341,
2322 /**/
2323     2340,
2324 /**/
2325     2339,
2326 /**/
2327     2338,
2328 /**/
2329     2337,
2330 /**/
2331     2336,
2332 /**/
2333     2335,
2334 /**/
2335     2334,
2336 /**/
2337     2333,
2338 /**/
2339     2332,
2340 /**/
2341     2331,
2342 /**/
2343     2330,
2344 /**/
2345     2329,
2346 /**/
2347     2328,
2348 /**/
2349     2327,
2350 /**/
2351     2326,
2352 /**/
2353     2325,
2354 /**/
2355     2324,
2356 /**/
2357     2323,
2358 /**/
2359     2322,
2360 /**/
2361     2321,
2362 /**/
2363     2320,
2364 /**/
2365     2319,
2366 /**/
2367     2318,
2368 /**/
2369     2317,
2370 /**/
2371     2316,
2372 /**/
2373     2315,
2374 /**/
2375     2314,
2376 /**/
2377     2313,
2378 /**/
2379     2312,
2380 /**/
2381     2311,
2382 /**/
2383     2310,
2384 /**/
2385     2309,
2386 /**/
2387     2308,
2388 /**/
2389     2307,
2390 /**/
2391     2306,
2392 /**/
2393     2305,
2394 /**/
2395     2304,
2396 /**/
2397     2303,
2398 /**/
2399     2302,
2400 /**/
2401     2301,
2402 /**/
2403     2300,
2404 /**/
2405     2299,
2406 /**/
2407     2298,
2408 /**/
2409     2297,
2410 /**/
2411     2296,
2412 /**/
2413     2295,
2414 /**/
2415     2294,
2416 /**/
2417     2293,
2418 /**/
2419     2292,
2420 /**/
2421     2291,
2422 /**/
2423     2290,
2424 /**/
2425     2289,
2426 /**/
2427     2288,
2428 /**/
2429     2287,
2430 /**/
2431     2286,
2432 /**/
2433     2285,
2434 /**/
2435     2284,
2436 /**/
2437     2283,
2438 /**/
2439     2282,
2440 /**/
2441     2281,
2442 /**/
2443     2280,
2444 /**/
2445     2279,
2446 /**/
2447     2278,
2448 /**/
2449     2277,
2450 /**/
2451     2276,
2452 /**/
2453     2275,
2454 /**/
2455     2274,
2456 /**/
2457     2273,
2458 /**/
2459     2272,
2460 /**/
2461     2271,
2462 /**/
2463     2270,
2464 /**/
2465     2269,
2466 /**/
2467     2268,
2468 /**/
2469     2267,
2470 /**/
2471     2266,
2472 /**/
2473     2265,
2474 /**/
2475     2264,
2476 /**/
2477     2263,
2478 /**/
2479     2262,
2480 /**/
2481     2261,
2482 /**/
2483     2260,
2484 /**/
2485     2259,
2486 /**/
2487     2258,
2488 /**/
2489     2257,
2490 /**/
2491     2256,
2492 /**/
2493     2255,
2494 /**/
2495     2254,
2496 /**/
2497     2253,
2498 /**/
2499     2252,
2500 /**/
2501     2251,
2502 /**/
2503     2250,
2504 /**/
2505     2249,
2506 /**/
2507     2248,
2508 /**/
2509     2247,
2510 /**/
2511     2246,
2512 /**/
2513     2245,
2514 /**/
2515     2244,
2516 /**/
2517     2243,
2518 /**/
2519     2242,
2520 /**/
2521     2241,
2522 /**/
2523     2240,
2524 /**/
2525     2239,
2526 /**/
2527     2238,
2528 /**/
2529     2237,
2530 /**/
2531     2236,
2532 /**/
2533     2235,
2534 /**/
2535     2234,
2536 /**/
2537     2233,
2538 /**/
2539     2232,
2540 /**/
2541     2231,
2542 /**/
2543     2230,
2544 /**/
2545     2229,
2546 /**/
2547     2228,
2548 /**/
2549     2227,
2550 /**/
2551     2226,
2552 /**/
2553     2225,
2554 /**/
2555     2224,
2556 /**/
2557     2223,
2558 /**/
2559     2222,
2560 /**/
2561     2221,
2562 /**/
2563     2220,
2564 /**/
2565     2219,
2566 /**/
2567     2218,
2568 /**/
2569     2217,
2570 /**/
2571     2216,
2572 /**/
2573     2215,
2574 /**/
2575     2214,
2576 /**/
2577     2213,
2578 /**/
2579     2212,
2580 /**/
2581     2211,
2582 /**/
2583     2210,
2584 /**/
2585     2209,
2586 /**/
2587     2208,
2588 /**/
2589     2207,
2590 /**/
2591     2206,
2592 /**/
2593     2205,
2594 /**/
2595     2204,
2596 /**/
2597     2203,
2598 /**/
2599     2202,
2600 /**/
2601     2201,
2602 /**/
2603     2200,
2604 /**/
2605     2199,
2606 /**/
2607     2198,
2608 /**/
2609     2197,
2610 /**/
2611     2196,
2612 /**/
2613     2195,
2614 /**/
2615     2194,
2616 /**/
2617     2193,
2618 /**/
2619     2192,
2620 /**/
2621     2191,
2622 /**/
2623     2190,
2624 /**/
2625     2189,
2626 /**/
2627     2188,
2628 /**/
2629     2187,
2630 /**/
2631     2186,
2632 /**/
2633     2185,
2634 /**/
2635     2184,
2636 /**/
2637     2183,
2638 /**/
2639     2182,
2640 /**/
2641     2181,
2642 /**/
2643     2180,
2644 /**/
2645     2179,
2646 /**/
2647     2178,
2648 /**/
2649     2177,
2650 /**/
2651     2176,
2652 /**/
2653     2175,
2654 /**/
2655     2174,
2656 /**/
2657     2173,
2658 /**/
2659     2172,
2660 /**/
2661     2171,
2662 /**/
2663     2170,
2664 /**/
2665     2169,
2666 /**/
2667     2168,
2668 /**/
2669     2167,
2670 /**/
2671     2166,
2672 /**/
2673     2165,
2674 /**/
2675     2164,
2676 /**/
2677     2163,
2678 /**/
2679     2162,
2680 /**/
2681     2161,
2682 /**/
2683     2160,
2684 /**/
2685     2159,
2686 /**/
2687     2158,
2688 /**/
2689     2157,
2690 /**/
2691     2156,
2692 /**/
2693     2155,
2694 /**/
2695     2154,
2696 /**/
2697     2153,
2698 /**/
2699     2152,
2700 /**/
2701     2151,
2702 /**/
2703     2150,
2704 /**/
2705     2149,
2706 /**/
2707     2148,
2708 /**/
2709     2147,
2710 /**/
2711     2146,
2712 /**/
2713     2145,
2714 /**/
2715     2144,
2716 /**/
2717     2143,
2718 /**/
2719     2142,
2720 /**/
2721     2141,
2722 /**/
2723     2140,
2724 /**/
2725     2139,
2726 /**/
2727     2138,
2728 /**/
2729     2137,
2730 /**/
2731     2136,
2732 /**/
2733     2135,
2734 /**/
2735     2134,
2736 /**/
2737     2133,
2738 /**/
2739     2132,
2740 /**/
2741     2131,
2742 /**/
2743     2130,
2744 /**/
2745     2129,
2746 /**/
2747     2128,
2748 /**/
2749     2127,
2750 /**/
2751     2126,
2752 /**/
2753     2125,
2754 /**/
2755     2124,
2756 /**/
2757     2123,
2758 /**/
2759     2122,
2760 /**/
2761     2121,
2762 /**/
2763     2120,
2764 /**/
2765     2119,
2766 /**/
2767     2118,
2768 /**/
2769     2117,
2770 /**/
2771     2116,
2772 /**/
2773     2115,
2774 /**/
2775     2114,
2776 /**/
2777     2113,
2778 /**/
2779     2112,
2780 /**/
2781     2111,
2782 /**/
2783     2110,
2784 /**/
2785     2109,
2786 /**/
2787     2108,
2788 /**/
2789     2107,
2790 /**/
2791     2106,
2792 /**/
2793     2105,
2794 /**/
2795     2104,
2796 /**/
2797     2103,
2798 /**/
2799     2102,
2800 /**/
2801     2101,
2802 /**/
2803     2100,
2804 /**/
2805     2099,
2806 /**/
2807     2098,
2808 /**/
2809     2097,
2810 /**/
2811     2096,
2812 /**/
2813     2095,
2814 /**/
2815     2094,
2816 /**/
2817     2093,
2818 /**/
2819     2092,
2820 /**/
2821     2091,
2822 /**/
2823     2090,
2824 /**/
2825     2089,
2826 /**/
2827     2088,
2828 /**/
2829     2087,
2830 /**/
2831     2086,
2832 /**/
2833     2085,
2834 /**/
2835     2084,
2836 /**/
2837     2083,
2838 /**/
2839     2082,
2840 /**/
2841     2081,
2842 /**/
2843     2080,
2844 /**/
2845     2079,
2846 /**/
2847     2078,
2848 /**/
2849     2077,
2850 /**/
2851     2076,
2852 /**/
2853     2075,
2854 /**/
2855     2074,
2856 /**/
2857     2073,
2858 /**/
2859     2072,
2860 /**/
2861     2071,
2862 /**/
2863     2070,
2864 /**/
2865     2069,
2866 /**/
2867     2068,
2868 /**/
2869     2067,
2870 /**/
2871     2066,
2872 /**/
2873     2065,
2874 /**/
2875     2064,
2876 /**/
2877     2063,
2878 /**/
2879     2062,
2880 /**/
2881     2061,
2882 /**/
2883     2060,
2884 /**/
2885     2059,
2886 /**/
2887     2058,
2888 /**/
2889     2057,
2890 /**/
2891     2056,
2892 /**/
2893     2055,
2894 /**/
2895     2054,
2896 /**/
2897     2053,
2898 /**/
2899     2052,
2900 /**/
2901     2051,
2902 /**/
2903     2050,
2904 /**/
2905     2049,
2906 /**/
2907     2048,
2908 /**/
2909     2047,
2910 /**/
2911     2046,
2912 /**/
2913     2045,
2914 /**/
2915     2044,
2916 /**/
2917     2043,
2918 /**/
2919     2042,
2920 /**/
2921     2041,
2922 /**/
2923     2040,
2924 /**/
2925     2039,
2926 /**/
2927     2038,
2928 /**/
2929     2037,
2930 /**/
2931     2036,
2932 /**/
2933     2035,
2934 /**/
2935     2034,
2936 /**/
2937     2033,
2938 /**/
2939     2032,
2940 /**/
2941     2031,
2942 /**/
2943     2030,
2944 /**/
2945     2029,
2946 /**/
2947     2028,
2948 /**/
2949     2027,
2950 /**/
2951     2026,
2952 /**/
2953     2025,
2954 /**/
2955     2024,
2956 /**/
2957     2023,
2958 /**/
2959     2022,
2960 /**/
2961     2021,
2962 /**/
2963     2020,
2964 /**/
2965     2019,
2966 /**/
2967     2018,
2968 /**/
2969     2017,
2970 /**/
2971     2016,
2972 /**/
2973     2015,
2974 /**/
2975     2014,
2976 /**/
2977     2013,
2978 /**/
2979     2012,
2980 /**/
2981     2011,
2982 /**/
2983     2010,
2984 /**/
2985     2009,
2986 /**/
2987     2008,
2988 /**/
2989     2007,
2990 /**/
2991     2006,
2992 /**/
2993     2005,
2994 /**/
2995     2004,
2996 /**/
2997     2003,
2998 /**/
2999     2002,
3000 /**/
3001     2001,
3002 /**/
3003     2000,
3004 /**/
3005     1999,
3006 /**/
3007     1998,
3008 /**/
3009     1997,
3010 /**/
3011     1996,
3012 /**/
3013     1995,
3014 /**/
3015     1994,
3016 /**/
3017     1993,
3018 /**/
3019     1992,
3020 /**/
3021     1991,
3022 /**/
3023     1990,
3024 /**/
3025     1989,
3026 /**/
3027     1988,
3028 /**/
3029     1987,
3030 /**/
3031     1986,
3032 /**/
3033     1985,
3034 /**/
3035     1984,
3036 /**/
3037     1983,
3038 /**/
3039     1982,
3040 /**/
3041     1981,
3042 /**/
3043     1980,
3044 /**/
3045     1979,
3046 /**/
3047     1978,
3048 /**/
3049     1977,
3050 /**/
3051     1976,
3052 /**/
3053     1975,
3054 /**/
3055     1974,
3056 /**/
3057     1973,
3058 /**/
3059     1972,
3060 /**/
3061     1971,
3062 /**/
3063     1970,
3064 /**/
3065     1969,
3066 /**/
3067     1968,
3068 /**/
3069     1967,
3070 /**/
3071     1966,
3072 /**/
3073     1965,
3074 /**/
3075     1964,
3076 /**/
3077     1963,
3078 /**/
3079     1962,
3080 /**/
3081     1961,
3082 /**/
3083     1960,
3084 /**/
3085     1959,
3086 /**/
3087     1958,
3088 /**/
3089     1957,
3090 /**/
3091     1956,
3092 /**/
3093     1955,
3094 /**/
3095     1954,
3096 /**/
3097     1953,
3098 /**/
3099     1952,
3100 /**/
3101     1951,
3102 /**/
3103     1950,
3104 /**/
3105     1949,
3106 /**/
3107     1948,
3108 /**/
3109     1947,
3110 /**/
3111     1946,
3112 /**/
3113     1945,
3114 /**/
3115     1944,
3116 /**/
3117     1943,
3118 /**/
3119     1942,
3120 /**/
3121     1941,
3122 /**/
3123     1940,
3124 /**/
3125     1939,
3126 /**/
3127     1938,
3128 /**/
3129     1937,
3130 /**/
3131     1936,
3132 /**/
3133     1935,
3134 /**/
3135     1934,
3136 /**/
3137     1933,
3138 /**/
3139     1932,
3140 /**/
3141     1931,
3142 /**/
3143     1930,
3144 /**/
3145     1929,
3146 /**/
3147     1928,
3148 /**/
3149     1927,
3150 /**/
3151     1926,
3152 /**/
3153     1925,
3154 /**/
3155     1924,
3156 /**/
3157     1923,
3158 /**/
3159     1922,
3160 /**/
3161     1921,
3162 /**/
3163     1920,
3164 /**/
3165     1919,
3166 /**/
3167     1918,
3168 /**/
3169     1917,
3170 /**/
3171     1916,
3172 /**/
3173     1915,
3174 /**/
3175     1914,
3176 /**/
3177     1913,
3178 /**/
3179     1912,
3180 /**/
3181     1911,
3182 /**/
3183     1910,
3184 /**/
3185     1909,
3186 /**/
3187     1908,
3188 /**/
3189     1907,
3190 /**/
3191     1906,
3192 /**/
3193     1905,
3194 /**/
3195     1904,
3196 /**/
3197     1903,
3198 /**/
3199     1902,
3200 /**/
3201     1901,
3202 /**/
3203     1900,
3204 /**/
3205     1899,
3206 /**/
3207     1898,
3208 /**/
3209     1897,
3210 /**/
3211     1896,
3212 /**/
3213     1895,
3214 /**/
3215     1894,
3216 /**/
3217     1893,
3218 /**/
3219     1892,
3220 /**/
3221     1891,
3222 /**/
3223     1890,
3224 /**/
3225     1889,
3226 /**/
3227     1888,
3228 /**/
3229     1887,
3230 /**/
3231     1886,
3232 /**/
3233     1885,
3234 /**/
3235     1884,
3236 /**/
3237     1883,
3238 /**/
3239     1882,
3240 /**/
3241     1881,
3242 /**/
3243     1880,
3244 /**/
3245     1879,
3246 /**/
3247     1878,
3248 /**/
3249     1877,
3250 /**/
3251     1876,
3252 /**/
3253     1875,
3254 /**/
3255     1874,
3256 /**/
3257     1873,
3258 /**/
3259     1872,
3260 /**/
3261     1871,
3262 /**/
3263     1870,
3264 /**/
3265     1869,
3266 /**/
3267     1868,
3268 /**/
3269     1867,
3270 /**/
3271     1866,
3272 /**/
3273     1865,
3274 /**/
3275     1864,
3276 /**/
3277     1863,
3278 /**/
3279     1862,
3280 /**/
3281     1861,
3282 /**/
3283     1860,
3284 /**/
3285     1859,
3286 /**/
3287     1858,
3288 /**/
3289     1857,
3290 /**/
3291     1856,
3292 /**/
3293     1855,
3294 /**/
3295     1854,
3296 /**/
3297     1853,
3298 /**/
3299     1852,
3300 /**/
3301     1851,
3302 /**/
3303     1850,
3304 /**/
3305     1849,
3306 /**/
3307     1848,
3308 /**/
3309     1847,
3310 /**/
3311     1846,
3312 /**/
3313     1845,
3314 /**/
3315     1844,
3316 /**/
3317     1843,
3318 /**/
3319     1842,
3320 /**/
3321     1841,
3322 /**/
3323     1840,
3324 /**/
3325     1839,
3326 /**/
3327     1838,
3328 /**/
3329     1837,
3330 /**/
3331     1836,
3332 /**/
3333     1835,
3334 /**/
3335     1834,
3336 /**/
3337     1833,
3338 /**/
3339     1832,
3340 /**/
3341     1831,
3342 /**/
3343     1830,
3344 /**/
3345     1829,
3346 /**/
3347     1828,
3348 /**/
3349     1827,
3350 /**/
3351     1826,
3352 /**/
3353     1825,
3354 /**/
3355     1824,
3356 /**/
3357     1823,
3358 /**/
3359     1822,
3360 /**/
3361     1821,
3362 /**/
3363     1820,
3364 /**/
3365     1819,
3366 /**/
3367     1818,
3368 /**/
3369     1817,
3370 /**/
3371     1816,
3372 /**/
3373     1815,
3374 /**/
3375     1814,
3376 /**/
3377     1813,
3378 /**/
3379     1812,
3380 /**/
3381     1811,
3382 /**/
3383     1810,
3384 /**/
3385     1809,
3386 /**/
3387     1808,
3388 /**/
3389     1807,
3390 /**/
3391     1806,
3392 /**/
3393     1805,
3394 /**/
3395     1804,
3396 /**/
3397     1803,
3398 /**/
3399     1802,
3400 /**/
3401     1801,
3402 /**/
3403     1800,
3404 /**/
3405     1799,
3406 /**/
3407     1798,
3408 /**/
3409     1797,
3410 /**/
3411     1796,
3412 /**/
3413     1795,
3414 /**/
3415     1794,
3416 /**/
3417     1793,
3418 /**/
3419     1792,
3420 /**/
3421     1791,
3422 /**/
3423     1790,
3424 /**/
3425     1789,
3426 /**/
3427     1788,
3428 /**/
3429     1787,
3430 /**/
3431     1786,
3432 /**/
3433     1785,
3434 /**/
3435     1784,
3436 /**/
3437     1783,
3438 /**/
3439     1782,
3440 /**/
3441     1781,
3442 /**/
3443     1780,
3444 /**/
3445     1779,
3446 /**/
3447     1778,
3448 /**/
3449     1777,
3450 /**/
3451     1776,
3452 /**/
3453     1775,
3454 /**/
3455     1774,
3456 /**/
3457     1773,
3458 /**/
3459     1772,
3460 /**/
3461     1771,
3462 /**/
3463     1770,
3464 /**/
3465     1769,
3466 /**/
3467     1768,
3468 /**/
3469     1767,
3470 /**/
3471     1766,
3472 /**/
3473     1765,
3474 /**/
3475     1764,
3476 /**/
3477     1763,
3478 /**/
3479     1762,
3480 /**/
3481     1761,
3482 /**/
3483     1760,
3484 /**/
3485     1759,
3486 /**/
3487     1758,
3488 /**/
3489     1757,
3490 /**/
3491     1756,
3492 /**/
3493     1755,
3494 /**/
3495     1754,
3496 /**/
3497     1753,
3498 /**/
3499     1752,
3500 /**/
3501     1751,
3502 /**/
3503     1750,
3504 /**/
3505     1749,
3506 /**/
3507     1748,
3508 /**/
3509     1747,
3510 /**/
3511     1746,
3512 /**/
3513     1745,
3514 /**/
3515     1744,
3516 /**/
3517     1743,
3518 /**/
3519     1742,
3520 /**/
3521     1741,
3522 /**/
3523     1740,
3524 /**/
3525     1739,
3526 /**/
3527     1738,
3528 /**/
3529     1737,
3530 /**/
3531     1736,
3532 /**/
3533     1735,
3534 /**/
3535     1734,
3536 /**/
3537     1733,
3538 /**/
3539     1732,
3540 /**/
3541     1731,
3542 /**/
3543     1730,
3544 /**/
3545     1729,
3546 /**/
3547     1728,
3548 /**/
3549     1727,
3550 /**/
3551     1726,
3552 /**/
3553     1725,
3554 /**/
3555     1724,
3556 /**/
3557     1723,
3558 /**/
3559     1722,
3560 /**/
3561     1721,
3562 /**/
3563     1720,
3564 /**/
3565     1719,
3566 /**/
3567     1718,
3568 /**/
3569     1717,
3570 /**/
3571     1716,
3572 /**/
3573     1715,
3574 /**/
3575     1714,
3576 /**/
3577     1713,
3578 /**/
3579     1712,
3580 /**/
3581     1711,
3582 /**/
3583     1710,
3584 /**/
3585     1709,
3586 /**/
3587     1708,
3588 /**/
3589     1707,
3590 /**/
3591     1706,
3592 /**/
3593     1705,
3594 /**/
3595     1704,
3596 /**/
3597     1703,
3598 /**/
3599     1702,
3600 /**/
3601     1701,
3602 /**/
3603     1700,
3604 /**/
3605     1699,
3606 /**/
3607     1698,
3608 /**/
3609     1697,
3610 /**/
3611     1696,
3612 /**/
3613     1695,
3614 /**/
3615     1694,
3616 /**/
3617     1693,
3618 /**/
3619     1692,
3620 /**/
3621     1691,
3622 /**/
3623     1690,
3624 /**/
3625     1689,
3626 /**/
3627     1688,
3628 /**/
3629     1687,
3630 /**/
3631     1686,
3632 /**/
3633     1685,
3634 /**/
3635     1684,
3636 /**/
3637     1683,
3638 /**/
3639     1682,
3640 /**/
3641     1681,
3642 /**/
3643     1680,
3644 /**/
3645     1679,
3646 /**/
3647     1678,
3648 /**/
3649     1677,
3650 /**/
3651     1676,
3652 /**/
3653     1675,
3654 /**/
3655     1674,
3656 /**/
3657     1673,
3658 /**/
3659     1672,
3660 /**/
3661     1671,
3662 /**/
3663     1670,
3664 /**/
3665     1669,
3666 /**/
3667     1668,
3668 /**/
3669     1667,
3670 /**/
3671     1666,
3672 /**/
3673     1665,
3674 /**/
3675     1664,
3676 /**/
3677     1663,
3678 /**/
3679     1662,
3680 /**/
3681     1661,
3682 /**/
3683     1660,
3684 /**/
3685     1659,
3686 /**/
3687     1658,
3688 /**/
3689     1657,
3690 /**/
3691     1656,
3692 /**/
3693     1655,
3694 /**/
3695     1654,
3696 /**/
3697     1653,
3698 /**/
3699     1652,
3700 /**/
3701     1651,
3702 /**/
3703     1650,
3704 /**/
3705     1649,
3706 /**/
3707     1648,
3708 /**/
3709     1647,
3710 /**/
3711     1646,
3712 /**/
3713     1645,
3714 /**/
3715     1644,
3716 /**/
3717     1643,
3718 /**/
3719     1642,
3720 /**/
3721     1641,
3722 /**/
3723     1640,
3724 /**/
3725     1639,
3726 /**/
3727     1638,
3728 /**/
3729     1637,
3730 /**/
3731     1636,
3732 /**/
3733     1635,
3734 /**/
3735     1634,
3736 /**/
3737     1633,
3738 /**/
3739     1632,
3740 /**/
3741     1631,
3742 /**/
3743     1630,
3744 /**/
3745     1629,
3746 /**/
3747     1628,
3748 /**/
3749     1627,
3750 /**/
3751     1626,
3752 /**/
3753     1625,
3754 /**/
3755     1624,
3756 /**/
3757     1623,
3758 /**/
3759     1622,
3760 /**/
3761     1621,
3762 /**/
3763     1620,
3764 /**/
3765     1619,
3766 /**/
3767     1618,
3768 /**/
3769     1617,
3770 /**/
3771     1616,
3772 /**/
3773     1615,
3774 /**/
3775     1614,
3776 /**/
3777     1613,
3778 /**/
3779     1612,
3780 /**/
3781     1611,
3782 /**/
3783     1610,
3784 /**/
3785     1609,
3786 /**/
3787     1608,
3788 /**/
3789     1607,
3790 /**/
3791     1606,
3792 /**/
3793     1605,
3794 /**/
3795     1604,
3796 /**/
3797     1603,
3798 /**/
3799     1602,
3800 /**/
3801     1601,
3802 /**/
3803     1600,
3804 /**/
3805     1599,
3806 /**/
3807     1598,
3808 /**/
3809     1597,
3810 /**/
3811     1596,
3812 /**/
3813     1595,
3814 /**/
3815     1594,
3816 /**/
3817     1593,
3818 /**/
3819     1592,
3820 /**/
3821     1591,
3822 /**/
3823     1590,
3824 /**/
3825     1589,
3826 /**/
3827     1588,
3828 /**/
3829     1587,
3830 /**/
3831     1586,
3832 /**/
3833     1585,
3834 /**/
3835     1584,
3836 /**/
3837     1583,
3838 /**/
3839     1582,
3840 /**/
3841     1581,
3842 /**/
3843     1580,
3844 /**/
3845     1579,
3846 /**/
3847     1578,
3848 /**/
3849     1577,
3850 /**/
3851     1576,
3852 /**/
3853     1575,
3854 /**/
3855     1574,
3856 /**/
3857     1573,
3858 /**/
3859     1572,
3860 /**/
3861     1571,
3862 /**/
3863     1570,
3864 /**/
3865     1569,
3866 /**/
3867     1568,
3868 /**/
3869     1567,
3870 /**/
3871     1566,
3872 /**/
3873     1565,
3874 /**/
3875     1564,
3876 /**/
3877     1563,
3878 /**/
3879     1562,
3880 /**/
3881     1561,
3882 /**/
3883     1560,
3884 /**/
3885     1559,
3886 /**/
3887     1558,
3888 /**/
3889     1557,
3890 /**/
3891     1556,
3892 /**/
3893     1555,
3894 /**/
3895     1554,
3896 /**/
3897     1553,
3898 /**/
3899     1552,
3900 /**/
3901     1551,
3902 /**/
3903     1550,
3904 /**/
3905     1549,
3906 /**/
3907     1548,
3908 /**/
3909     1547,
3910 /**/
3911     1546,
3912 /**/
3913     1545,
3914 /**/
3915     1544,
3916 /**/
3917     1543,
3918 /**/
3919     1542,
3920 /**/
3921     1541,
3922 /**/
3923     1540,
3924 /**/
3925     1539,
3926 /**/
3927     1538,
3928 /**/
3929     1537,
3930 /**/
3931     1536,
3932 /**/
3933     1535,
3934 /**/
3935     1534,
3936 /**/
3937     1533,
3938 /**/
3939     1532,
3940 /**/
3941     1531,
3942 /**/
3943     1530,
3944 /**/
3945     1529,
3946 /**/
3947     1528,
3948 /**/
3949     1527,
3950 /**/
3951     1526,
3952 /**/
3953     1525,
3954 /**/
3955     1524,
3956 /**/
3957     1523,
3958 /**/
3959     1522,
3960 /**/
3961     1521,
3962 /**/
3963     1520,
3964 /**/
3965     1519,
3966 /**/
3967     1518,
3968 /**/
3969     1517,
3970 /**/
3971     1516,
3972 /**/
3973     1515,
3974 /**/
3975     1514,
3976 /**/
3977     1513,
3978 /**/
3979     1512,
3980 /**/
3981     1511,
3982 /**/
3983     1510,
3984 /**/
3985     1509,
3986 /**/
3987     1508,
3988 /**/
3989     1507,
3990 /**/
3991     1506,
3992 /**/
3993     1505,
3994 /**/
3995     1504,
3996 /**/
3997     1503,
3998 /**/
3999     1502,
4000 /**/
4001     1501,
4002 /**/
4003     1500,
4004 /**/
4005     1499,
4006 /**/
4007     1498,
4008 /**/
4009     1497,
4010 /**/
4011     1496,
4012 /**/
4013     1495,
4014 /**/
4015     1494,
4016 /**/
4017     1493,
4018 /**/
4019     1492,
4020 /**/
4021     1491,
4022 /**/
4023     1490,
4024 /**/
4025     1489,
4026 /**/
4027     1488,
4028 /**/
4029     1487,
4030 /**/
4031     1486,
4032 /**/
4033     1485,
4034 /**/
4035     1484,
4036 /**/
4037     1483,
4038 /**/
4039     1482,
4040 /**/
4041     1481,
4042 /**/
4043     1480,
4044 /**/
4045     1479,
4046 /**/
4047     1478,
4048 /**/
4049     1477,
4050 /**/
4051     1476,
4052 /**/
4053     1475,
4054 /**/
4055     1474,
4056 /**/
4057     1473,
4058 /**/
4059     1472,
4060 /**/
4061     1471,
4062 /**/
4063     1470,
4064 /**/
4065     1469,
4066 /**/
4067     1468,
4068 /**/
4069     1467,
4070 /**/
4071     1466,
4072 /**/
4073     1465,
4074 /**/
4075     1464,
4076 /**/
4077     1463,
4078 /**/
4079     1462,
4080 /**/
4081     1461,
4082 /**/
4083     1460,
4084 /**/
4085     1459,
4086 /**/
4087     1458,
4088 /**/
4089     1457,
4090 /**/
4091     1456,
4092 /**/
4093     1455,
4094 /**/
4095     1454,
4096 /**/
4097     1453,
4098 /**/
4099     1452,
4100 /**/
4101     1451,
4102 /**/
4103     1450,
4104 /**/
4105     1449,
4106 /**/
4107     1448,
4108 /**/
4109     1447,
4110 /**/
4111     1446,
4112 /**/
4113     1445,
4114 /**/
4115     1444,
4116 /**/
4117     1443,
4118 /**/
4119     1442,
4120 /**/
4121     1441,
4122 /**/
4123     1440,
4124 /**/
4125     1439,
4126 /**/
4127     1438,
4128 /**/
4129     1437,
4130 /**/
4131     1436,
4132 /**/
4133     1435,
4134 /**/
4135     1434,
4136 /**/
4137     1433,
4138 /**/
4139     1432,
4140 /**/
4141     1431,
4142 /**/
4143     1430,
4144 /**/
4145     1429,
4146 /**/
4147     1428,
4148 /**/
4149     1427,
4150 /**/
4151     1426,
4152 /**/
4153     1425,
4154 /**/
4155     1424,
4156 /**/
4157     1423,
4158 /**/
4159     1422,
4160 /**/
4161     1421,
4162 /**/
4163     1420,
4164 /**/
4165     1419,
4166 /**/
4167     1418,
4168 /**/
4169     1417,
4170 /**/
4171     1416,
4172 /**/
4173     1415,
4174 /**/
4175     1414,
4176 /**/
4177     1413,
4178 /**/
4179     1412,
4180 /**/
4181     1411,
4182 /**/
4183     1410,
4184 /**/
4185     1409,
4186 /**/
4187     1408,
4188 /**/
4189     1407,
4190 /**/
4191     1406,
4192 /**/
4193     1405,
4194 /**/
4195     1404,
4196 /**/
4197     1403,
4198 /**/
4199     1402,
4200 /**/
4201     1401,
4202 /**/
4203     1400,
4204 /**/
4205     1399,
4206 /**/
4207     1398,
4208 /**/
4209     1397,
4210 /**/
4211     1396,
4212 /**/
4213     1395,
4214 /**/
4215     1394,
4216 /**/
4217     1393,
4218 /**/
4219     1392,
4220 /**/
4221     1391,
4222 /**/
4223     1390,
4224 /**/
4225     1389,
4226 /**/
4227     1388,
4228 /**/
4229     1387,
4230 /**/
4231     1386,
4232 /**/
4233     1385,
4234 /**/
4235     1384,
4236 /**/
4237     1383,
4238 /**/
4239     1382,
4240 /**/
4241     1381,
4242 /**/
4243     1380,
4244 /**/
4245     1379,
4246 /**/
4247     1378,
4248 /**/
4249     1377,
4250 /**/
4251     1376,
4252 /**/
4253     1375,
4254 /**/
4255     1374,
4256 /**/
4257     1373,
4258 /**/
4259     1372,
4260 /**/
4261     1371,
4262 /**/
4263     1370,
4264 /**/
4265     1369,
4266 /**/
4267     1368,
4268 /**/
4269     1367,
4270 /**/
4271     1366,
4272 /**/
4273     1365,
4274 /**/
4275     1364,
4276 /**/
4277     1363,
4278 /**/
4279     1362,
4280 /**/
4281     1361,
4282 /**/
4283     1360,
4284 /**/
4285     1359,
4286 /**/
4287     1358,
4288 /**/
4289     1357,
4290 /**/
4291     1356,
4292 /**/
4293     1355,
4294 /**/
4295     1354,
4296 /**/
4297     1353,
4298 /**/
4299     1352,
4300 /**/
4301     1351,
4302 /**/
4303     1350,
4304 /**/
4305     1349,
4306 /**/
4307     1348,
4308 /**/
4309     1347,
4310 /**/
4311     1346,
4312 /**/
4313     1345,
4314 /**/
4315     1344,
4316 /**/
4317     1343,
4318 /**/
4319     1342,
4320 /**/
4321     1341,
4322 /**/
4323     1340,
4324 /**/
4325     1339,
4326 /**/
4327     1338,
4328 /**/
4329     1337,
4330 /**/
4331     1336,
4332 /**/
4333     1335,
4334 /**/
4335     1334,
4336 /**/
4337     1333,
4338 /**/
4339     1332,
4340 /**/
4341     1331,
4342 /**/
4343     1330,
4344 /**/
4345     1329,
4346 /**/
4347     1328,
4348 /**/
4349     1327,
4350 /**/
4351     1326,
4352 /**/
4353     1325,
4354 /**/
4355     1324,
4356 /**/
4357     1323,
4358 /**/
4359     1322,
4360 /**/
4361     1321,
4362 /**/
4363     1320,
4364 /**/
4365     1319,
4366 /**/
4367     1318,
4368 /**/
4369     1317,
4370 /**/
4371     1316,
4372 /**/
4373     1315,
4374 /**/
4375     1314,
4376 /**/
4377     1313,
4378 /**/
4379     1312,
4380 /**/
4381     1311,
4382 /**/
4383     1310,
4384 /**/
4385     1309,
4386 /**/
4387     1308,
4388 /**/
4389     1307,
4390 /**/
4391     1306,
4392 /**/
4393     1305,
4394 /**/
4395     1304,
4396 /**/
4397     1303,
4398 /**/
4399     1302,
4400 /**/
4401     1301,
4402 /**/
4403     1300,
4404 /**/
4405     1299,
4406 /**/
4407     1298,
4408 /**/
4409     1297,
4410 /**/
4411     1296,
4412 /**/
4413     1295,
4414 /**/
4415     1294,
4416 /**/
4417     1293,
4418 /**/
4419     1292,
4420 /**/
4421     1291,
4422 /**/
4423     1290,
4424 /**/
4425     1289,
4426 /**/
4427     1288,
4428 /**/
4429     1287,
4430 /**/
4431     1286,
4432 /**/
4433     1285,
4434 /**/
4435     1284,
4436 /**/
4437     1283,
4438 /**/
4439     1282,
4440 /**/
4441     1281,
4442 /**/
4443     1280,
4444 /**/
4445     1279,
4446 /**/
4447     1278,
4448 /**/
4449     1277,
4450 /**/
4451     1276,
4452 /**/
4453     1275,
4454 /**/
4455     1274,
4456 /**/
4457     1273,
4458 /**/
4459     1272,
4460 /**/
4461     1271,
4462 /**/
4463     1270,
4464 /**/
4465     1269,
4466 /**/
4467     1268,
4468 /**/
4469     1267,
4470 /**/
4471     1266,
4472 /**/
4473     1265,
4474 /**/
4475     1264,
4476 /**/
4477     1263,
4478 /**/
4479     1262,
4480 /**/
4481     1261,
4482 /**/
4483     1260,
4484 /**/
4485     1259,
4486 /**/
4487     1258,
4488 /**/
4489     1257,
4490 /**/
4491     1256,
4492 /**/
4493     1255,
4494 /**/
4495     1254,
4496 /**/
4497     1253,
4498 /**/
4499     1252,
4500 /**/
4501     1251,
4502 /**/
4503     1250,
4504 /**/
4505     1249,
4506 /**/
4507     1248,
4508 /**/
4509     1247,
4510 /**/
4511     1246,
4512 /**/
4513     1245,
4514 /**/
4515     1244,
4516 /**/
4517     1243,
4518 /**/
4519     1242,
4520 /**/
4521     1241,
4522 /**/
4523     1240,
4524 /**/
4525     1239,
4526 /**/
4527     1238,
4528 /**/
4529     1237,
4530 /**/
4531     1236,
4532 /**/
4533     1235,
4534 /**/
4535     1234,
4536 /**/
4537     1233,
4538 /**/
4539     1232,
4540 /**/
4541     1231,
4542 /**/
4543     1230,
4544 /**/
4545     1229,
4546 /**/
4547     1228,
4548 /**/
4549     1227,
4550 /**/
4551     1226,
4552 /**/
4553     1225,
4554 /**/
4555     1224,
4556 /**/
4557     1223,
4558 /**/
4559     1222,
4560 /**/
4561     1221,
4562 /**/
4563     1220,
4564 /**/
4565     1219,
4566 /**/
4567     1218,
4568 /**/
4569     1217,
4570 /**/
4571     1216,
4572 /**/
4573     1215,
4574 /**/
4575     1214,
4576 /**/
4577     1213,
4578 /**/
4579     1212,
4580 /**/
4581     1211,
4582 /**/
4583     1210,
4584 /**/
4585     1209,
4586 /**/
4587     1208,
4588 /**/
4589     1207,
4590 /**/
4591     1206,
4592 /**/
4593     1205,
4594 /**/
4595     1204,
4596 /**/
4597     1203,
4598 /**/
4599     1202,
4600 /**/
4601     1201,
4602 /**/
4603     1200,
4604 /**/
4605     1199,
4606 /**/
4607     1198,
4608 /**/
4609     1197,
4610 /**/
4611     1196,
4612 /**/
4613     1195,
4614 /**/
4615     1194,
4616 /**/
4617     1193,
4618 /**/
4619     1192,
4620 /**/
4621     1191,
4622 /**/
4623     1190,
4624 /**/
4625     1189,
4626 /**/
4627     1188,
4628 /**/
4629     1187,
4630 /**/
4631     1186,
4632 /**/
4633     1185,
4634 /**/
4635     1184,
4636 /**/
4637     1183,
4638 /**/
4639     1182,
4640 /**/
4641     1181,
4642 /**/
4643     1180,
4644 /**/
4645     1179,
4646 /**/
4647     1178,
4648 /**/
4649     1177,
4650 /**/
4651     1176,
4652 /**/
4653     1175,
4654 /**/
4655     1174,
4656 /**/
4657     1173,
4658 /**/
4659     1172,
4660 /**/
4661     1171,
4662 /**/
4663     1170,
4664 /**/
4665     1169,
4666 /**/
4667     1168,
4668 /**/
4669     1167,
4670 /**/
4671     1166,
4672 /**/
4673     1165,
4674 /**/
4675     1164,
4676 /**/
4677     1163,
4678 /**/
4679     1162,
4680 /**/
4681     1161,
4682 /**/
4683     1160,
4684 /**/
4685     1159,
4686 /**/
4687     1158,
4688 /**/
4689     1157,
4690 /**/
4691     1156,
4692 /**/
4693     1155,
4694 /**/
4695     1154,
4696 /**/
4697     1153,
4698 /**/
4699     1152,
4700 /**/
4701     1151,
4702 /**/
4703     1150,
4704 /**/
4705     1149,
4706 /**/
4707     1148,
4708 /**/
4709     1147,
4710 /**/
4711     1146,
4712 /**/
4713     1145,
4714 /**/
4715     1144,
4716 /**/
4717     1143,
4718 /**/
4719     1142,
4720 /**/
4721     1141,
4722 /**/
4723     1140,
4724 /**/
4725     1139,
4726 /**/
4727     1138,
4728 /**/
4729     1137,
4730 /**/
4731     1136,
4732 /**/
4733     1135,
4734 /**/
4735     1134,
4736 /**/
4737     1133,
4738 /**/
4739     1132,
4740 /**/
4741     1131,
4742 /**/
4743     1130,
4744 /**/
4745     1129,
4746 /**/
4747     1128,
4748 /**/
4749     1127,
4750 /**/
4751     1126,
4752 /**/
4753     1125,
4754 /**/
4755     1124,
4756 /**/
4757     1123,
4758 /**/
4759     1122,
4760 /**/
4761     1121,
4762 /**/
4763     1120,
4764 /**/
4765     1119,
4766 /**/
4767     1118,
4768 /**/
4769     1117,
4770 /**/
4771     1116,
4772 /**/
4773     1115,
4774 /**/
4775     1114,
4776 /**/
4777     1113,
4778 /**/
4779     1112,
4780 /**/
4781     1111,
4782 /**/
4783     1110,
4784 /**/
4785     1109,
4786 /**/
4787     1108,
4788 /**/
4789     1107,
4790 /**/
4791     1106,
4792 /**/
4793     1105,
4794 /**/
4795     1104,
4796 /**/
4797     1103,
4798 /**/
4799     1102,
4800 /**/
4801     1101,
4802 /**/
4803     1100,
4804 /**/
4805     1099,
4806 /**/
4807     1098,
4808 /**/
4809     1097,
4810 /**/
4811     1096,
4812 /**/
4813     1095,
4814 /**/
4815     1094,
4816 /**/
4817     1093,
4818 /**/
4819     1092,
4820 /**/
4821     1091,
4822 /**/
4823     1090,
4824 /**/
4825     1089,
4826 /**/
4827     1088,
4828 /**/
4829     1087,
4830 /**/
4831     1086,
4832 /**/
4833     1085,
4834 /**/
4835     1084,
4836 /**/
4837     1083,
4838 /**/
4839     1082,
4840 /**/
4841     1081,
4842 /**/
4843     1080,
4844 /**/
4845     1079,
4846 /**/
4847     1078,
4848 /**/
4849     1077,
4850 /**/
4851     1076,
4852 /**/
4853     1075,
4854 /**/
4855     1074,
4856 /**/
4857     1073,
4858 /**/
4859     1072,
4860 /**/
4861     1071,
4862 /**/
4863     1070,
4864 /**/
4865     1069,
4866 /**/
4867     1068,
4868 /**/
4869     1067,
4870 /**/
4871     1066,
4872 /**/
4873     1065,
4874 /**/
4875     1064,
4876 /**/
4877     1063,
4878 /**/
4879     1062,
4880 /**/
4881     1061,
4882 /**/
4883     1060,
4884 /**/
4885     1059,
4886 /**/
4887     1058,
4888 /**/
4889     1057,
4890 /**/
4891     1056,
4892 /**/
4893     1055,
4894 /**/
4895     1054,
4896 /**/
4897     1053,
4898 /**/
4899     1052,
4900 /**/
4901     1051,
4902 /**/
4903     1050,
4904 /**/
4905     1049,
4906 /**/
4907     1048,
4908 /**/
4909     1047,
4910 /**/
4911     1046,
4912 /**/
4913     1045,
4914 /**/
4915     1044,
4916 /**/
4917     1043,
4918 /**/
4919     1042,
4920 /**/
4921     1041,
4922 /**/
4923     1040,
4924 /**/
4925     1039,
4926 /**/
4927     1038,
4928 /**/
4929     1037,
4930 /**/
4931     1036,
4932 /**/
4933     1035,
4934 /**/
4935     1034,
4936 /**/
4937     1033,
4938 /**/
4939     1032,
4940 /**/
4941     1031,
4942 /**/
4943     1030,
4944 /**/
4945     1029,
4946 /**/
4947     1028,
4948 /**/
4949     1027,
4950 /**/
4951     1026,
4952 /**/
4953     1025,
4954 /**/
4955     1024,
4956 /**/
4957     1023,
4958 /**/
4959     1022,
4960 /**/
4961     1021,
4962 /**/
4963     1020,
4964 /**/
4965     1019,
4966 /**/
4967     1018,
4968 /**/
4969     1017,
4970 /**/
4971     1016,
4972 /**/
4973     1015,
4974 /**/
4975     1014,
4976 /**/
4977     1013,
4978 /**/
4979     1012,
4980 /**/
4981     1011,
4982 /**/
4983     1010,
4984 /**/
4985     1009,
4986 /**/
4987     1008,
4988 /**/
4989     1007,
4990 /**/
4991     1006,
4992 /**/
4993     1005,
4994 /**/
4995     1004,
4996 /**/
4997     1003,
4998 /**/
4999     1002,
5000 /**/
5001     1001,
5002 /**/
5003     1000,
5004 /**/
5005     999,
5006 /**/
5007     998,
5008 /**/
5009     997,
5010 /**/
5011     996,
5012 /**/
5013     995,
5014 /**/
5015     994,
5016 /**/
5017     993,
5018 /**/
5019     992,
5020 /**/
5021     991,
5022 /**/
5023     990,
5024 /**/
5025     989,
5026 /**/
5027     988,
5028 /**/
5029     987,
5030 /**/
5031     986,
5032 /**/
5033     985,
5034 /**/
5035     984,
5036 /**/
5037     983,
5038 /**/
5039     982,
5040 /**/
5041     981,
5042 /**/
5043     980,
5044 /**/
5045     979,
5046 /**/
5047     978,
5048 /**/
5049     977,
5050 /**/
5051     976,
5052 /**/
5053     975,
5054 /**/
5055     974,
5056 /**/
5057     973,
5058 /**/
5059     972,
5060 /**/
5061     971,
5062 /**/
5063     970,
5064 /**/
5065     969,
5066 /**/
5067     968,
5068 /**/
5069     967,
5070 /**/
5071     966,
5072 /**/
5073     965,
5074 /**/
5075     964,
5076 /**/
5077     963,
5078 /**/
5079     962,
5080 /**/
5081     961,
5082 /**/
5083     960,
5084 /**/
5085     959,
5086 /**/
5087     958,
5088 /**/
5089     957,
5090 /**/
5091     956,
5092 /**/
5093     955,
5094 /**/
5095     954,
5096 /**/
5097     953,
5098 /**/
5099     952,
5100 /**/
5101     951,
5102 /**/
5103     950,
5104 /**/
5105     949,
5106 /**/
5107     948,
5108 /**/
5109     947,
5110 /**/
5111     946,
5112 /**/
5113     945,
5114 /**/
5115     944,
5116 /**/
5117     943,
5118 /**/
5119     942,
5120 /**/
5121     941,
5122 /**/
5123     940,
5124 /**/
5125     939,
5126 /**/
5127     938,
5128 /**/
5129     937,
5130 /**/
5131     936,
5132 /**/
5133     935,
5134 /**/
5135     934,
5136 /**/
5137     933,
5138 /**/
5139     932,
5140 /**/
5141     931,
5142 /**/
5143     930,
5144 /**/
5145     929,
5146 /**/
5147     928,
5148 /**/
5149     927,
5150 /**/
5151     926,
5152 /**/
5153     925,
5154 /**/
5155     924,
5156 /**/
5157     923,
5158 /**/
5159     922,
5160 /**/
5161     921,
5162 /**/
5163     920,
5164 /**/
5165     919,
5166 /**/
5167     918,
5168 /**/
5169     917,
5170 /**/
5171     916,
5172 /**/
5173     915,
5174 /**/
5175     914,
5176 /**/
5177     913,
5178 /**/
5179     912,
5180 /**/
5181     911,
5182 /**/
5183     910,
5184 /**/
5185     909,
5186 /**/
5187     908,
5188 /**/
5189     907,
5190 /**/
5191     906,
5192 /**/
5193     905,
5194 /**/
5195     904,
5196 /**/
5197     903,
5198 /**/
5199     902,
5200 /**/
5201     901,
5202 /**/
5203     900,
5204 /**/
5205     899,
5206 /**/
5207     898,
5208 /**/
5209     897,
5210 /**/
5211     896,
5212 /**/
5213     895,
5214 /**/
5215     894,
5216 /**/
5217     893,
5218 /**/
5219     892,
5220 /**/
5221     891,
5222 /**/
5223     890,
5224 /**/
5225     889,
5226 /**/
5227     888,
5228 /**/
5229     887,
5230 /**/
5231     886,
5232 /**/
5233     885,
5234 /**/
5235     884,
5236 /**/
5237     883,
5238 /**/
5239     882,
5240 /**/
5241     881,
5242 /**/
5243     880,
5244 /**/
5245     879,
5246 /**/
5247     878,
5248 /**/
5249     877,
5250 /**/
5251     876,
5252 /**/
5253     875,
5254 /**/
5255     874,
5256 /**/
5257     873,
5258 /**/
5259     872,
5260 /**/
5261     871,
5262 /**/
5263     870,
5264 /**/
5265     869,
5266 /**/
5267     868,
5268 /**/
5269     867,
5270 /**/
5271     866,
5272 /**/
5273     865,
5274 /**/
5275     864,
5276 /**/
5277     863,
5278 /**/
5279     862,
5280 /**/
5281     861,
5282 /**/
5283     860,
5284 /**/
5285     859,
5286 /**/
5287     858,
5288 /**/
5289     857,
5290 /**/
5291     856,
5292 /**/
5293     855,
5294 /**/
5295     854,
5296 /**/
5297     853,
5298 /**/
5299     852,
5300 /**/
5301     851,
5302 /**/
5303     850,
5304 /**/
5305     849,
5306 /**/
5307     848,
5308 /**/
5309     847,
5310 /**/
5311     846,
5312 /**/
5313     845,
5314 /**/
5315     844,
5316 /**/
5317     843,
5318 /**/
5319     842,
5320 /**/
5321     841,
5322 /**/
5323     840,
5324 /**/
5325     839,
5326 /**/
5327     838,
5328 /**/
5329     837,
5330 /**/
5331     836,
5332 /**/
5333     835,
5334 /**/
5335     834,
5336 /**/
5337     833,
5338 /**/
5339     832,
5340 /**/
5341     831,
5342 /**/
5343     830,
5344 /**/
5345     829,
5346 /**/
5347     828,
5348 /**/
5349     827,
5350 /**/
5351     826,
5352 /**/
5353     825,
5354 /**/
5355     824,
5356 /**/
5357     823,
5358 /**/
5359     822,
5360 /**/
5361     821,
5362 /**/
5363     820,
5364 /**/
5365     819,
5366 /**/
5367     818,
5368 /**/
5369     817,
5370 /**/
5371     816,
5372 /**/
5373     815,
5374 /**/
5375     814,
5376 /**/
5377     813,
5378 /**/
5379     812,
5380 /**/
5381     811,
5382 /**/
5383     810,
5384 /**/
5385     809,
5386 /**/
5387     808,
5388 /**/
5389     807,
5390 /**/
5391     806,
5392 /**/
5393     805,
5394 /**/
5395     804,
5396 /**/
5397     803,
5398 /**/
5399     802,
5400 /**/
5401     801,
5402 /**/
5403     800,
5404 /**/
5405     799,
5406 /**/
5407     798,
5408 /**/
5409     797,
5410 /**/
5411     796,
5412 /**/
5413     795,
5414 /**/
5415     794,
5416 /**/
5417     793,
5418 /**/
5419     792,
5420 /**/
5421     791,
5422 /**/
5423     790,
5424 /**/
5425     789,
5426 /**/
5427     788,
5428 /**/
5429     787,
5430 /**/
5431     786,
5432 /**/
5433     785,
5434 /**/
5435     784,
5436 /**/
5437     783,
5438 /**/
5439     782,
5440 /**/
5441     781,
5442 /**/
5443     780,
5444 /**/
5445     779,
5446 /**/
5447     778,
5448 /**/
5449     777,
5450 /**/
5451     776,
5452 /**/
5453     775,
5454 /**/
5455     774,
5456 /**/
5457     773,
5458 /**/
5459     772,
5460 /**/
5461     771,
5462 /**/
5463     770,
5464 /**/
5465     769,
5466 /**/
5467     768,
5468 /**/
5469     767,
5470 /**/
5471     766,
5472 /**/
5473     765,
5474 /**/
5475     764,
5476 /**/
5477     763,
5478 /**/
5479     762,
5480 /**/
5481     761,
5482 /**/
5483     760,
5484 /**/
5485     759,
5486 /**/
5487     758,
5488 /**/
5489     757,
5490 /**/
5491     756,
5492 /**/
5493     755,
5494 /**/
5495     754,
5496 /**/
5497     753,
5498 /**/
5499     752,
5500 /**/
5501     751,
5502 /**/
5503     750,
5504 /**/
5505     749,
5506 /**/
5507     748,
5508 /**/
5509     747,
5510 /**/
5511     746,
5512 /**/
5513     745,
5514 /**/
5515     744,
5516 /**/
5517     743,
5518 /**/
5519     742,
5520 /**/
5521     741,
5522 /**/
5523     740,
5524 /**/
5525     739,
5526 /**/
5527     738,
5528 /**/
5529     737,
5530 /**/
5531     736,
5532 /**/
5533     735,
5534 /**/
5535     734,
5536 /**/
5537     733,
5538 /**/
5539     732,
5540 /**/
5541     731,
5542 /**/
5543     730,
5544 /**/
5545     729,
5546 /**/
5547     728,
5548 /**/
5549     727,
5550 /**/
5551     726,
5552 /**/
5553     725,
5554 /**/
5555     724,
5556 /**/
5557     723,
5558 /**/
5559     722,
5560 /**/
5561     721,
5562 /**/
5563     720,
5564 /**/
5565     719,
5566 /**/
5567     718,
5568 /**/
5569     717,
5570 /**/
5571     716,
5572 /**/
5573     715,
5574 /**/
5575     714,
5576 /**/
5577     713,
5578 /**/
5579     712,
5580 /**/
5581     711,
5582 /**/
5583     710,
5584 /**/
5585     709,
5586 /**/
5587     708,
5588 /**/
5589     707,
5590 /**/
5591     706,
5592 /**/
5593     705,
5594 /**/
5595     704,
5596 /**/
5597     703,
5598 /**/
5599     702,
5600 /**/
5601     701,
5602 /**/
5603     700,
5604 /**/
5605     699,
5606 /**/
5607     698,
5608 /**/
5609     697,
5610 /**/
5611     696,
5612 /**/
5613     695,
5614 /**/
5615     694,
5616 /**/
5617     693,
5618 /**/
5619     692,
5620 /**/
5621     691,
5622 /**/
5623     690,
5624 /**/
5625     689,
5626 /**/
5627     688,
5628 /**/
5629     687,
5630 /**/
5631     686,
5632 /**/
5633     685,
5634 /**/
5635     684,
5636 /**/
5637     683,
5638 /**/
5639     682,
5640 /**/
5641     681,
5642 /**/
5643     680,
5644 /**/
5645     679,
5646 /**/
5647     678,
5648 /**/
5649     677,
5650 /**/
5651     676,
5652 /**/
5653     675,
5654 /**/
5655     674,
5656 /**/
5657     673,
5658 /**/
5659     672,
5660 /**/
5661     671,
5662 /**/
5663     670,
5664 /**/
5665     669,
5666 /**/
5667     668,
5668 /**/
5669     667,
5670 /**/
5671     666,
5672 /**/
5673     665,
5674 /**/
5675     664,
5676 /**/
5677     663,
5678 /**/
5679     662,
5680 /**/
5681     661,
5682 /**/
5683     660,
5684 /**/
5685     659,
5686 /**/
5687     658,
5688 /**/
5689     657,
5690 /**/
5691     656,
5692 /**/
5693     655,
5694 /**/
5695     654,
5696 /**/
5697     653,
5698 /**/
5699     652,
5700 /**/
5701     651,
5702 /**/
5703     650,
5704 /**/
5705     649,
5706 /**/
5707     648,
5708 /**/
5709     647,
5710 /**/
5711     646,
5712 /**/
5713     645,
5714 /**/
5715     644,
5716 /**/
5717     643,
5718 /**/
5719     642,
5720 /**/
5721     641,
5722 /**/
5723     640,
5724 /**/
5725     639,
5726 /**/
5727     638,
5728 /**/
5729     637,
5730 /**/
5731     636,
5732 /**/
5733     635,
5734 /**/
5735     634,
5736 /**/
5737     633,
5738 /**/
5739     632,
5740 /**/
5741     631,
5742 /**/
5743     630,
5744 /**/
5745     629,
5746 /**/
5747     628,
5748 /**/
5749     627,
5750 /**/
5751     626,
5752 /**/
5753     625,
5754 /**/
5755     624,
5756 /**/
5757     623,
5758 /**/
5759     622,
5760 /**/
5761     621,
5762 /**/
5763     620,
5764 /**/
5765     619,
5766 /**/
5767     618,
5768 /**/
5769     617,
5770 /**/
5771     616,
5772 /**/
5773     615,
5774 /**/
5775     614,
5776 /**/
5777     613,
5778 /**/
5779     612,
5780 /**/
5781     611,
5782 /**/
5783     610,
5784 /**/
5785     609,
5786 /**/
5787     608,
5788 /**/
5789     607,
5790 /**/
5791     606,
5792 /**/
5793     605,
5794 /**/
5795     604,
5796 /**/
5797     603,
5798 /**/
5799     602,
5800 /**/
5801     601,
5802 /**/
5803     600,
5804 /**/
5805     599,
5806 /**/
5807     598,
5808 /**/
5809     597,
5810 /**/
5811     596,
5812 /**/
5813     595,
5814 /**/
5815     594,
5816 /**/
5817     593,
5818 /**/
5819     592,
5820 /**/
5821     591,
5822 /**/
5823     590,
5824 /**/
5825     589,
5826 /**/
5827     588,
5828 /**/
5829     587,
5830 /**/
5831     586,
5832 /**/
5833     585,
5834 /**/
5835     584,
5836 /**/
5837     583,
5838 /**/
5839     582,
5840 /**/
5841     581,
5842 /**/
5843     580,
5844 /**/
5845     579,
5846 /**/
5847     578,
5848 /**/
5849     577,
5850 /**/
5851     576,
5852 /**/
5853     575,
5854 /**/
5855     574,
5856 /**/
5857     573,
5858 /**/
5859     572,
5860 /**/
5861     571,
5862 /**/
5863     570,
5864 /**/
5865     569,
5866 /**/
5867     568,
5868 /**/
5869     567,
5870 /**/
5871     566,
5872 /**/
5873     565,
5874 /**/
5875     564,
5876 /**/
5877     563,
5878 /**/
5879     562,
5880 /**/
5881     561,
5882 /**/
5883     560,
5884 /**/
5885     559,
5886 /**/
5887     558,
5888 /**/
5889     557,
5890 /**/
5891     556,
5892 /**/
5893     555,
5894 /**/
5895     554,
5896 /**/
5897     553,
5898 /**/
5899     552,
5900 /**/
5901     551,
5902 /**/
5903     550,
5904 /**/
5905     549,
5906 /**/
5907     548,
5908 /**/
5909     547,
5910 /**/
5911     546,
5912 /**/
5913     545,
5914 /**/
5915     544,
5916 /**/
5917     543,
5918 /**/
5919     542,
5920 /**/
5921     541,
5922 /**/
5923     540,
5924 /**/
5925     539,
5926 /**/
5927     538,
5928 /**/
5929     537,
5930 /**/
5931     536,
5932 /**/
5933     535,
5934 /**/
5935     534,
5936 /**/
5937     533,
5938 /**/
5939     532,
5940 /**/
5941     531,
5942 /**/
5943     530,
5944 /**/
5945     529,
5946 /**/
5947     528,
5948 /**/
5949     527,
5950 /**/
5951     526,
5952 /**/
5953     525,
5954 /**/
5955     524,
5956 /**/
5957     523,
5958 /**/
5959     522,
5960 /**/
5961     521,
5962 /**/
5963     520,
5964 /**/
5965     519,
5966 /**/
5967     518,
5968 /**/
5969     517,
5970 /**/
5971     516,
5972 /**/
5973     515,
5974 /**/
5975     514,
5976 /**/
5977     513,
5978 /**/
5979     512,
5980 /**/
5981     511,
5982 /**/
5983     510,
5984 /**/
5985     509,
5986 /**/
5987     508,
5988 /**/
5989     507,
5990 /**/
5991     506,
5992 /**/
5993     505,
5994 /**/
5995     504,
5996 /**/
5997     503,
5998 /**/
5999     502,
6000 /**/
6001     501,
6002 /**/
6003     500,
6004 /**/
6005     499,
6006 /**/
6007     498,
6008 /**/
6009     497,
6010 /**/
6011     496,
6012 /**/
6013     495,
6014 /**/
6015     494,
6016 /**/
6017     493,
6018 /**/
6019     492,
6020 /**/
6021     491,
6022 /**/
6023     490,
6024 /**/
6025     489,
6026 /**/
6027     488,
6028 /**/
6029     487,
6030 /**/
6031     486,
6032 /**/
6033     485,
6034 /**/
6035     484,
6036 /**/
6037     483,
6038 /**/
6039     482,
6040 /**/
6041     481,
6042 /**/
6043     480,
6044 /**/
6045     479,
6046 /**/
6047     478,
6048 /**/
6049     477,
6050 /**/
6051     476,
6052 /**/
6053     475,
6054 /**/
6055     474,
6056 /**/
6057     473,
6058 /**/
6059     472,
6060 /**/
6061     471,
6062 /**/
6063     470,
6064 /**/
6065     469,
6066 /**/
6067     468,
6068 /**/
6069     467,
6070 /**/
6071     466,
6072 /**/
6073     465,
6074 /**/
6075     464,
6076 /**/
6077     463,
6078 /**/
6079     462,
6080 /**/
6081     461,
6082 /**/
6083     460,
6084 /**/
6085     459,
6086 /**/
6087     458,
6088 /**/
6089     457,
6090 /**/
6091     456,
6092 /**/
6093     455,
6094 /**/
6095     454,
6096 /**/
6097     453,
6098 /**/
6099     452,
6100 /**/
6101     451,
6102 /**/
6103     450,
6104 /**/
6105     449,
6106 /**/
6107     448,
6108 /**/
6109     447,
6110 /**/
6111     446,
6112 /**/
6113     445,
6114 /**/
6115     444,
6116 /**/
6117     443,
6118 /**/
6119     442,
6120 /**/
6121     441,
6122 /**/
6123     440,
6124 /**/
6125     439,
6126 /**/
6127     438,
6128 /**/
6129     437,
6130 /**/
6131     436,
6132 /**/
6133     435,
6134 /**/
6135     434,
6136 /**/
6137     433,
6138 /**/
6139     432,
6140 /**/
6141     431,
6142 /**/
6143     430,
6144 /**/
6145     429,
6146 /**/
6147     428,
6148 /**/
6149     427,
6150 /**/
6151     426,
6152 /**/
6153     425,
6154 /**/
6155     424,
6156 /**/
6157     423,
6158 /**/
6159     422,
6160 /**/
6161     421,
6162 /**/
6163     420,
6164 /**/
6165     419,
6166 /**/
6167     418,
6168 /**/
6169     417,
6170 /**/
6171     416,
6172 /**/
6173     415,
6174 /**/
6175     414,
6176 /**/
6177     413,
6178 /**/
6179     412,
6180 /**/
6181     411,
6182 /**/
6183     410,
6184 /**/
6185     409,
6186 /**/
6187     408,
6188 /**/
6189     407,
6190 /**/
6191     406,
6192 /**/
6193     405,
6194 /**/
6195     404,
6196 /**/
6197     403,
6198 /**/
6199     402,
6200 /**/
6201     401,
6202 /**/
6203     400,
6204 /**/
6205     399,
6206 /**/
6207     398,
6208 /**/
6209     397,
6210 /**/
6211     396,
6212 /**/
6213     395,
6214 /**/
6215     394,
6216 /**/
6217     393,
6218 /**/
6219     392,
6220 /**/
6221     391,
6222 /**/
6223     390,
6224 /**/
6225     389,
6226 /**/
6227     388,
6228 /**/
6229     387,
6230 /**/
6231     386,
6232 /**/
6233     385,
6234 /**/
6235     384,
6236 /**/
6237     383,
6238 /**/
6239     382,
6240 /**/
6241     381,
6242 /**/
6243     380,
6244 /**/
6245     379,
6246 /**/
6247     378,
6248 /**/
6249     377,
6250 /**/
6251     376,
6252 /**/
6253     375,
6254 /**/
6255     374,
6256 /**/
6257     373,
6258 /**/
6259     372,
6260 /**/
6261     371,
6262 /**/
6263     370,
6264 /**/
6265     369,
6266 /**/
6267     368,
6268 /**/
6269     367,
6270 /**/
6271     366,
6272 /**/
6273     365,
6274 /**/
6275     364,
6276 /**/
6277     363,
6278 /**/
6279     362,
6280 /**/
6281     361,
6282 /**/
6283     360,
6284 /**/
6285     359,
6286 /**/
6287     358,
6288 /**/
6289     357,
6290 /**/
6291     356,
6292 /**/
6293     355,
6294 /**/
6295     354,
6296 /**/
6297     353,
6298 /**/
6299     352,
6300 /**/
6301     351,
6302 /**/
6303     350,
6304 /**/
6305     349,
6306 /**/
6307     348,
6308 /**/
6309     347,
6310 /**/
6311     346,
6312 /**/
6313     345,
6314 /**/
6315     344,
6316 /**/
6317     343,
6318 /**/
6319     342,
6320 /**/
6321     341,
6322 /**/
6323     340,
6324 /**/
6325     339,
6326 /**/
6327     338,
6328 /**/
6329     337,
6330 /**/
6331     336,
6332 /**/
6333     335,
6334 /**/
6335     334,
6336 /**/
6337     333,
6338 /**/
6339     332,
6340 /**/
6341     331,
6342 /**/
6343     330,
6344 /**/
6345     329,
6346 /**/
6347     328,
6348 /**/
6349     327,
6350 /**/
6351     326,
6352 /**/
6353     325,
6354 /**/
6355     324,
6356 /**/
6357     323,
6358 /**/
6359     322,
6360 /**/
6361     321,
6362 /**/
6363     320,
6364 /**/
6365     319,
6366 /**/
6367     318,
6368 /**/
6369     317,
6370 /**/
6371     316,
6372 /**/
6373     315,
6374 /**/
6375     314,
6376 /**/
6377     313,
6378 /**/
6379     312,
6380 /**/
6381     311,
6382 /**/
6383     310,
6384 /**/
6385     309,
6386 /**/
6387     308,
6388 /**/
6389     307,
6390 /**/
6391     306,
6392 /**/
6393     305,
6394 /**/
6395     304,
6396 /**/
6397     303,
6398 /**/
6399     302,
6400 /**/
6401     301,
6402 /**/
6403     300,
6404 /**/
6405     299,
6406 /**/
6407     298,
6408 /**/
6409     297,
6410 /**/
6411     296,
6412 /**/
6413     295,
6414 /**/
6415     294,
6416 /**/
6417     293,
6418 /**/
6419     292,
6420 /**/
6421     291,
6422 /**/
6423     290,
6424 /**/
6425     289,
6426 /**/
6427     288,
6428 /**/
6429     287,
6430 /**/
6431     286,
6432 /**/
6433     285,
6434 /**/
6435     284,
6436 /**/
6437     283,
6438 /**/
6439     282,
6440 /**/
6441     281,
6442 /**/
6443     280,
6444 /**/
6445     279,
6446 /**/
6447     278,
6448 /**/
6449     277,
6450 /**/
6451     276,
6452 /**/
6453     275,
6454 /**/
6455     274,
6456 /**/
6457     273,
6458 /**/
6459     272,
6460 /**/
6461     271,
6462 /**/
6463     270,
6464 /**/
6465     269,
6466 /**/
6467     268,
6468 /**/
6469     267,
6470 /**/
6471     266,
6472 /**/
6473     265,
6474 /**/
6475     264,
6476 /**/
6477     263,
6478 /**/
6479     262,
6480 /**/
6481     261,
6482 /**/
6483     260,
6484 /**/
6485     259,
6486 /**/
6487     258,
6488 /**/
6489     257,
6490 /**/
6491     256,
6492 /**/
6493     255,
6494 /**/
6495     254,
6496 /**/
6497     253,
6498 /**/
6499     252,
6500 /**/
6501     251,
6502 /**/
6503     250,
6504 /**/
6505     249,
6506 /**/
6507     248,
6508 /**/
6509     247,
6510 /**/
6511     246,
6512 /**/
6513     245,
6514 /**/
6515     244,
6516 /**/
6517     243,
6518 /**/
6519     242,
6520 /**/
6521     241,
6522 /**/
6523     240,
6524 /**/
6525     239,
6526 /**/
6527     238,
6528 /**/
6529     237,
6530 /**/
6531     236,
6532 /**/
6533     235,
6534 /**/
6535     234,
6536 /**/
6537     233,
6538 /**/
6539     232,
6540 /**/
6541     231,
6542 /**/
6543     230,
6544 /**/
6545     229,
6546 /**/
6547     228,
6548 /**/
6549     227,
6550 /**/
6551     226,
6552 /**/
6553     225,
6554 /**/
6555     224,
6556 /**/
6557     223,
6558 /**/
6559     222,
6560 /**/
6561     221,
6562 /**/
6563     220,
6564 /**/
6565     219,
6566 /**/
6567     218,
6568 /**/
6569     217,
6570 /**/
6571     216,
6572 /**/
6573     215,
6574 /**/
6575     214,
6576 /**/
6577     213,
6578 /**/
6579     212,
6580 /**/
6581     211,
6582 /**/
6583     210,
6584 /**/
6585     209,
6586 /**/
6587     208,
6588 /**/
6589     207,
6590 /**/
6591     206,
6592 /**/
6593     205,
6594 /**/
6595     204,
6596 /**/
6597     203,
6598 /**/
6599     202,
6600 /**/
6601     201,
6602 /**/
6603     200,
6604 /**/
6605     199,
6606 /**/
6607     198,
6608 /**/
6609     197,
6610 /**/
6611     196,
6612 /**/
6613     195,
6614 /**/
6615     194,
6616 /**/
6617     193,
6618 /**/
6619     192,
6620 /**/
6621     191,
6622 /**/
6623     190,
6624 /**/
6625     189,
6626 /**/
6627     188,
6628 /**/
6629     187,
6630 /**/
6631     186,
6632 /**/
6633     185,
6634 /**/
6635     184,
6636 /**/
6637     183,
6638 /**/
6639     182,
6640 /**/
6641     181,
6642 /**/
6643     180,
6644 /**/
6645     179,
6646 /**/
6647     178,
6648 /**/
6649     177,
6650 /**/
6651     176,
6652 /**/
6653     175,
6654 /**/
6655     174,
6656 /**/
6657     173,
6658 /**/
6659     172,
6660 /**/
6661     171,
6662 /**/
6663     170,
6664 /**/
6665     169,
6666 /**/
6667     168,
6668 /**/
6669     167,
6670 /**/
6671     166,
6672 /**/
6673     165,
6674 /**/
6675     164,
6676 /**/
6677     163,
6678 /**/
6679     162,
6680 /**/
6681     161,
6682 /**/
6683     160,
6684 /**/
6685     159,
6686 /**/
6687     158,
6688 /**/
6689     157,
6690 /**/
6691     156,
6692 /**/
6693     155,
6694 /**/
6695     154,
6696 /**/
6697     153,
6698 /**/
6699     152,
6700 /**/
6701     151,
6702 /**/
6703     150,
6704 /**/
6705     149,
6706 /**/
6707     148,
6708 /**/
6709     147,
6710 /**/
6711     146,
6712 /**/
6713     145,
6714 /**/
6715     144,
6716 /**/
6717     143,
6718 /**/
6719     142,
6720 /**/
6721     141,
6722 /**/
6723     140,
6724 /**/
6725     139,
6726 /**/
6727     138,
6728 /**/
6729     137,
6730 /**/
6731     136,
6732 /**/
6733     135,
6734 /**/
6735     134,
6736 /**/
6737     133,
6738 /**/
6739     132,
6740 /**/
6741     131,
6742 /**/
6743     130,
6744 /**/
6745     129,
6746 /**/
6747     128,
6748 /**/
6749     127,
6750 /**/
6751     126,
6752 /**/
6753     125,
6754 /**/
6755     124,
6756 /**/
6757     123,
6758 /**/
6759     122,
6760 /**/
6761     121,
6762 /**/
6763     120,
6764 /**/
6765     119,
6766 /**/
6767     118,
6768 /**/
6769     117,
6770 /**/
6771     116,
6772 /**/
6773     115,
6774 /**/
6775     114,
6776 /**/
6777     113,
6778 /**/
6779     112,
6780 /**/
6781     111,
6782 /**/
6783     110,
6784 /**/
6785     109,
6786 /**/
6787     108,
6788 /**/
6789     107,
6790 /**/
6791     106,
6792 /**/
6793     105,
6794 /**/
6795     104,
6796 /**/
6797     103,
6798 /**/
6799     102,
6800 /**/
6801     101,
6802 /**/
6803     100,
6804 /**/
6805     99,
6806 /**/
6807     98,
6808 /**/
6809     97,
6810 /**/
6811     96,
6812 /**/
6813     95,
6814 /**/
6815     94,
6816 /**/
6817     93,
6818 /**/
6819     92,
6820 /**/
6821     91,
6822 /**/
6823     90,
6824 /**/
6825     89,
6826 /**/
6827     88,
6828 /**/
6829     87,
6830 /**/
6831     86,
6832 /**/
6833     85,
6834 /**/
6835     84,
6836 /**/
6837     83,
6838 /**/
6839     82,
6840 /**/
6841     81,
6842 /**/
6843     80,
6844 /**/
6845     79,
6846 /**/
6847     78,
6848 /**/
6849     77,
6850 /**/
6851     76,
6852 /**/
6853     75,
6854 /**/
6855     74,
6856 /**/
6857     73,
6858 /**/
6859     72,
6860 /**/
6861     71,
6862 /**/
6863     70,
6864 /**/
6865     69,
6866 /**/
6867     68,
6868 /**/
6869     67,
6870 /**/
6871     66,
6872 /**/
6873     65,
6874 /**/
6875     64,
6876 /**/
6877     63,
6878 /**/
6879     62,
6880 /**/
6881     61,
6882 /**/
6883     60,
6884 /**/
6885     59,
6886 /**/
6887     58,
6888 /**/
6889     57,
6890 /**/
6891     56,
6892 /**/
6893     55,
6894 /**/
6895     54,
6896 /**/
6897     53,
6898 /**/
6899     52,
6900 /**/
6901     51,
6902 /**/
6903     50,
6904 /**/
6905     49,
6906 /**/
6907     48,
6908 /**/
6909     47,
6910 /**/
6911     46,
6912 /**/
6913     45,
6914 /**/
6915     44,
6916 /**/
6917     43,
6918 /**/
6919     42,
6920 /**/
6921     41,
6922 /**/
6923     40,
6924 /**/
6925     39,
6926 /**/
6927     38,
6928 /**/
6929     37,
6930 /**/
6931     36,
6932 /**/
6933     35,
6934 /**/
6935     34,
6936 /**/
6937     33,
6938 /**/
6939     32,
6940 /**/
6941     31,
6942 /**/
6943     30,
6944 /**/
6945     29,
6946 /**/
6947     28,
6948 /**/
6949     27,
6950 /**/
6951     26,
6952 /**/
6953     25,
6954 /**/
6955     24,
6956 /**/
6957     23,
6958 /**/
6959     22,
6960 /**/
6961     21,
6962 /**/
6963     20,
6964 /**/
6965     19,
6966 /**/
6967     18,
6968 /**/
6969     17,
6970 /**/
6971     16,
6972 /**/
6973     15,
6974 /**/
6975     14,
6976 /**/
6977     13,
6978 /**/
6979     12,
6980 /**/
6981     11,
6982 /**/
6983     10,
6984 /**/
6985     9,
6986 /**/
6987     8,
6988 /**/
6989     7,
6990 /**/
6991     6,
6992 /**/
6993     5,
6994 /**/
6995     4,
6996 /**/
6997     3,
6998 /**/
6999     2,
7000 /**/
7001     1,
7002 /**/
7003     0
7004 };
7005 
7006 /*
7007  * Place to put a short description when adding a feature with a patch.
7008  * Keep it short, e.g.,: "relative numbers", "persistent undo".
7009  * Also add a comment marker to separate the lines.
7010  * See the official Vim patches for the diff format: It must use a context of
7011  * one line only.  Create it by hand or use "diff -C2" and edit the patch.
7012  */
7013 static char *(extra_patches[]) =
7014 {   /* Add your patch description below this line */
7015 /**/
7016     NULL
7017 };
7018 
7019     int
7020 highest_patch(void)
7021 {
7022     // this relies on the highest patch number to be the first entry
7023     return included_patches[0];
7024 }
7025 
7026 #if defined(FEAT_EVAL) || defined(PROTO)
7027 /*
7028  * Return TRUE if patch "n" has been included.
7029  */
7030     int
7031 has_patch(int n)
7032 {
7033     int		h, m, l;
7034 
7035     // Perform a binary search.
7036     l = 0;
7037     h = (int)ARRAY_LENGTH(included_patches) - 1;
7038     while (l < h)
7039     {
7040 	m = (l + h) / 2;
7041 	if (included_patches[m] == n)
7042 	    return TRUE;
7043 	if (included_patches[m] < n)
7044 	    h = m;
7045 	else
7046 	    l = m + 1;
7047     }
7048     return FALSE;
7049 }
7050 #endif
7051 
7052     void
7053 ex_version(exarg_T *eap)
7054 {
7055     /*
7056      * Ignore a ":version 9.99" command.
7057      */
7058     if (*eap->arg == NUL)
7059     {
7060 	msg_putchar('\n');
7061 	list_version();
7062     }
7063 }
7064 
7065 /*
7066  * Output a string for the version message.  If it's going to wrap, output a
7067  * newline, unless the message is too long to fit on the screen anyway.
7068  * When "wrap" is TRUE wrap the string in [].
7069  */
7070     static void
7071 version_msg_wrap(char_u *s, int wrap)
7072 {
7073     int		len = (int)vim_strsize(s) + (wrap ? 2 : 0);
7074 
7075     if (!got_int && len < (int)Columns && msg_col + len >= (int)Columns
7076 								&& *s != '\n')
7077 	msg_putchar('\n');
7078     if (!got_int)
7079     {
7080 	if (wrap)
7081 	    msg_puts("[");
7082 	msg_puts((char *)s);
7083 	if (wrap)
7084 	    msg_puts("]");
7085     }
7086 }
7087 
7088     static void
7089 version_msg(char *s)
7090 {
7091     version_msg_wrap((char_u *)s, FALSE);
7092 }
7093 
7094 /*
7095  * List all features aligned in columns, dictionary style.
7096  */
7097     static void
7098 list_features(void)
7099 {
7100     list_in_columns((char_u **)features, -1, -1);
7101 }
7102 
7103 /*
7104  * List string items nicely aligned in columns.
7105  * When "size" is < 0 then the last entry is marked with NULL.
7106  * The entry with index "current" is inclosed in [].
7107  */
7108     void
7109 list_in_columns(char_u **items, int size, int current)
7110 {
7111     int		i;
7112     int		ncol;
7113     int		nrow;
7114     int		cur_row = 1;
7115     int		item_count = 0;
7116     int		width = 0;
7117 #ifdef FEAT_SYN_HL
7118     int		use_highlight = (items == (char_u **)features);
7119 #endif
7120 
7121     // Find the length of the longest item, use that + 1 as the column
7122     // width.
7123     for (i = 0; size < 0 ? items[i] != NULL : i < size; ++i)
7124     {
7125 	int l = (int)vim_strsize(items[i]) + (i == current ? 2 : 0);
7126 
7127 	if (l > width)
7128 	    width = l;
7129 	++item_count;
7130     }
7131     width += 1;
7132 
7133     if (Columns < width)
7134     {
7135 	// Not enough screen columns - show one per line
7136 	for (i = 0; i < item_count; ++i)
7137 	{
7138 	    version_msg_wrap(items[i], i == current);
7139 	    if (msg_col > 0 && i < item_count - 1)
7140 		msg_putchar('\n');
7141 	}
7142 	return;
7143     }
7144 
7145     // The rightmost column doesn't need a separator.
7146     // Sacrifice it to fit in one more column if possible.
7147     ncol = (int) (Columns + 1) / width;
7148     nrow = item_count / ncol + (item_count % ncol ? 1 : 0);
7149 
7150     // "i" counts columns then rows.  "idx" counts rows then columns.
7151     for (i = 0; !got_int && i < nrow * ncol; ++i)
7152     {
7153 	int idx = (i / ncol) + (i % ncol) * nrow;
7154 
7155 	if (idx < item_count)
7156 	{
7157 	    int last_col = (i + 1) % ncol == 0;
7158 
7159 	    if (idx == current)
7160 		msg_putchar('[');
7161 #ifdef FEAT_SYN_HL
7162 	    if (use_highlight && items[idx][0] == '-')
7163 		msg_puts_attr((char *)items[idx], HL_ATTR(HLF_W));
7164 	    else
7165 #endif
7166 		msg_puts((char *)items[idx]);
7167 	    if (idx == current)
7168 		msg_putchar(']');
7169 	    if (last_col)
7170 	    {
7171 		if (msg_col > 0 && cur_row < nrow)
7172 		    msg_putchar('\n');
7173 		++cur_row;
7174 	    }
7175 	    else
7176 	    {
7177 		while (msg_col % width)
7178 		    msg_putchar(' ');
7179 	    }
7180 	}
7181 	else
7182 	{
7183 	    // this row is out of items, thus at the end of the row
7184 	    if (msg_col > 0)
7185 	    {
7186 		if (cur_row < nrow)
7187 		    msg_putchar('\n');
7188 		++cur_row;
7189 	    }
7190 	}
7191     }
7192 }
7193 
7194     void
7195 list_version(void)
7196 {
7197     int		i;
7198     int		first;
7199     char	*s = "";
7200 
7201     /*
7202      * When adding features here, don't forget to update the list of
7203      * internal variables in eval.c!
7204      */
7205     init_longVersion();
7206     msg(longVersion);
7207 #ifdef MSWIN
7208 # ifdef FEAT_GUI_MSWIN
7209 #  ifdef VIMDLL
7210 #   ifdef _WIN64
7211     msg_puts(_("\nMS-Windows 64-bit GUI/console version"));
7212 #   else
7213     msg_puts(_("\nMS-Windows 32-bit GUI/console version"));
7214 #   endif
7215 #  else
7216 #   ifdef _WIN64
7217     msg_puts(_("\nMS-Windows 64-bit GUI version"));
7218 #   else
7219     msg_puts(_("\nMS-Windows 32-bit GUI version"));
7220 #   endif
7221 #  endif
7222 #  ifdef FEAT_OLE
7223     msg_puts(_(" with OLE support"));
7224 #  endif
7225 # else
7226 #  ifdef _WIN64
7227     msg_puts(_("\nMS-Windows 64-bit console version"));
7228 #  else
7229     msg_puts(_("\nMS-Windows 32-bit console version"));
7230 #  endif
7231 # endif
7232 #endif
7233 #if defined(MACOS_X)
7234 # if defined(MACOS_X_DARWIN)
7235     msg_puts(_("\nmacOS version"));
7236 # else
7237     msg_puts(_("\nmacOS version w/o darwin feat."));
7238 # endif
7239 # if defined(__arm64__)
7240     msg_puts(" - arm64");
7241 # elif defined(__x86_64__)
7242     msg_puts(" - x86_64");
7243 # endif
7244 #endif
7245 
7246 #ifdef VMS
7247     msg_puts(_("\nOpenVMS version"));
7248 # ifdef HAVE_PATHDEF
7249     if (*compiled_arch != NUL)
7250     {
7251 	msg_puts(" - ");
7252 	msg_puts((char *)compiled_arch);
7253     }
7254 # endif
7255 
7256 #endif
7257 
7258     // Print the list of patch numbers if there is at least one.
7259     // Print a range when patches are consecutive: "1-10, 12, 15-40, 42-45"
7260     if (included_patches[0] != 0)
7261     {
7262 	msg_puts(_("\nIncluded patches: "));
7263 	first = -1;
7264 	i = (int)ARRAY_LENGTH(included_patches) - 1;
7265 	while (--i >= 0)
7266 	{
7267 	    if (first < 0)
7268 		first = included_patches[i];
7269 	    if (i == 0 || included_patches[i - 1] != included_patches[i] + 1)
7270 	    {
7271 		msg_puts(s);
7272 		s = ", ";
7273 		msg_outnum((long)first);
7274 		if (first != included_patches[i])
7275 		{
7276 		    msg_puts("-");
7277 		    msg_outnum((long)included_patches[i]);
7278 		}
7279 		first = -1;
7280 	    }
7281 	}
7282     }
7283 
7284     // Print the list of extra patch descriptions if there is at least one.
7285     if (extra_patches[0] != NULL)
7286     {
7287 	msg_puts(_("\nExtra patches: "));
7288 	s = "";
7289 	for (i = 0; extra_patches[i] != NULL; ++i)
7290 	{
7291 	    msg_puts(s);
7292 	    s = ", ";
7293 	    msg_puts(extra_patches[i]);
7294 	}
7295     }
7296 
7297 #ifdef MODIFIED_BY
7298     msg_puts("\n");
7299     msg_puts(_("Modified by "));
7300     msg_puts(MODIFIED_BY);
7301 #endif
7302 
7303 #ifdef HAVE_PATHDEF
7304     if (*compiled_user != NUL || *compiled_sys != NUL)
7305     {
7306 	msg_puts(_("\nCompiled "));
7307 	if (*compiled_user != NUL)
7308 	{
7309 	    msg_puts(_("by "));
7310 	    msg_puts((char *)compiled_user);
7311 	}
7312 	if (*compiled_sys != NUL)
7313 	{
7314 	    msg_puts("@");
7315 	    msg_puts((char *)compiled_sys);
7316 	}
7317     }
7318 #endif
7319 
7320 #ifdef FEAT_HUGE
7321     msg_puts(_("\nHuge version "));
7322 #else
7323 # ifdef FEAT_BIG
7324     msg_puts(_("\nBig version "));
7325 # else
7326 #  ifdef FEAT_NORMAL
7327     msg_puts(_("\nNormal version "));
7328 #  else
7329 #   ifdef FEAT_SMALL
7330     msg_puts(_("\nSmall version "));
7331 #   else
7332     msg_puts(_("\nTiny version "));
7333 #   endif
7334 #  endif
7335 # endif
7336 #endif
7337 #ifndef FEAT_GUI
7338     msg_puts(_("without GUI."));
7339 #else
7340 # ifdef FEAT_GUI_GTK
7341 #  ifdef USE_GTK3
7342     msg_puts(_("with GTK3 GUI."));
7343 #  else
7344 #   ifdef FEAT_GUI_GNOME
7345      msg_puts(_("with GTK2-GNOME GUI."));
7346 #   else
7347      msg_puts(_("with GTK2 GUI."));
7348 #   endif
7349 # endif
7350 # else
7351 #  ifdef FEAT_GUI_MOTIF
7352     msg_puts(_("with X11-Motif GUI."));
7353 #  else
7354 #   ifdef FEAT_GUI_ATHENA
7355 #    ifdef FEAT_GUI_NEXTAW
7356     msg_puts(_("with X11-neXtaw GUI."));
7357 #    else
7358     msg_puts(_("with X11-Athena GUI."));
7359 #    endif
7360 #   else
7361 #    ifdef FEAT_GUI_HAIKU
7362     msg_puts(_("with Haiku GUI."));
7363 #    else
7364 #     ifdef FEAT_GUI_PHOTON
7365     msg_puts(_("with Photon GUI."));
7366 #     else
7367 #      if defined(MSWIN)
7368     msg_puts(_("with GUI."));
7369 #      endif
7370 #     endif
7371 #    endif
7372 #   endif
7373 #  endif
7374 # endif
7375 #endif
7376     version_msg(_("  Features included (+) or not (-):\n"));
7377 
7378     list_features();
7379     if (msg_col > 0)
7380 	msg_putchar('\n');
7381 
7382 #ifdef SYS_VIMRC_FILE
7383     version_msg(_("   system vimrc file: \""));
7384     version_msg(SYS_VIMRC_FILE);
7385     version_msg("\"\n");
7386 #endif
7387 #ifdef USR_VIMRC_FILE
7388     version_msg(_("     user vimrc file: \""));
7389     version_msg(USR_VIMRC_FILE);
7390     version_msg("\"\n");
7391 #endif
7392 #ifdef USR_VIMRC_FILE2
7393     version_msg(_(" 2nd user vimrc file: \""));
7394     version_msg(USR_VIMRC_FILE2);
7395     version_msg("\"\n");
7396 #endif
7397 #ifdef USR_VIMRC_FILE3
7398     version_msg(_(" 3rd user vimrc file: \""));
7399     version_msg(USR_VIMRC_FILE3);
7400     version_msg("\"\n");
7401 #endif
7402 #ifdef USR_EXRC_FILE
7403     version_msg(_("      user exrc file: \""));
7404     version_msg(USR_EXRC_FILE);
7405     version_msg("\"\n");
7406 #endif
7407 #ifdef USR_EXRC_FILE2
7408     version_msg(_("  2nd user exrc file: \""));
7409     version_msg(USR_EXRC_FILE2);
7410     version_msg("\"\n");
7411 #endif
7412 #ifdef FEAT_GUI
7413 # ifdef SYS_GVIMRC_FILE
7414     version_msg(_("  system gvimrc file: \""));
7415     version_msg(SYS_GVIMRC_FILE);
7416     version_msg("\"\n");
7417 # endif
7418     version_msg(_("    user gvimrc file: \""));
7419     version_msg(USR_GVIMRC_FILE);
7420     version_msg("\"\n");
7421 # ifdef USR_GVIMRC_FILE2
7422     version_msg(_("2nd user gvimrc file: \""));
7423     version_msg(USR_GVIMRC_FILE2);
7424     version_msg("\"\n");
7425 # endif
7426 # ifdef USR_GVIMRC_FILE3
7427     version_msg(_("3rd user gvimrc file: \""));
7428     version_msg(USR_GVIMRC_FILE3);
7429     version_msg("\"\n");
7430 # endif
7431 #endif
7432     version_msg(_("       defaults file: \""));
7433     version_msg(VIM_DEFAULTS_FILE);
7434     version_msg("\"\n");
7435 #ifdef FEAT_GUI
7436 # ifdef SYS_MENU_FILE
7437     version_msg(_("    system menu file: \""));
7438     version_msg(SYS_MENU_FILE);
7439     version_msg("\"\n");
7440 # endif
7441 #endif
7442 #ifdef HAVE_PATHDEF
7443     if (*default_vim_dir != NUL)
7444     {
7445 	version_msg(_("  fall-back for $VIM: \""));
7446 	version_msg((char *)default_vim_dir);
7447 	version_msg("\"\n");
7448     }
7449     if (*default_vimruntime_dir != NUL)
7450     {
7451 	version_msg(_(" f-b for $VIMRUNTIME: \""));
7452 	version_msg((char *)default_vimruntime_dir);
7453 	version_msg("\"\n");
7454     }
7455     version_msg(_("Compilation: "));
7456     version_msg((char *)all_cflags);
7457     version_msg("\n");
7458 #ifdef VMS
7459     if (*compiler_version != NUL)
7460     {
7461 	version_msg(_("Compiler: "));
7462 	version_msg((char *)compiler_version);
7463 	version_msg("\n");
7464     }
7465 #endif
7466     version_msg(_("Linking: "));
7467     version_msg((char *)all_lflags);
7468 #endif
7469 #ifdef DEBUG
7470     version_msg("\n");
7471     version_msg(_("  DEBUG BUILD"));
7472 #endif
7473 }
7474 
7475 static void do_intro_line(int row, char_u *mesg, int add_version, int attr);
7476 static void intro_message(int colon);
7477 
7478 /*
7479  * Show the intro message when not editing a file.
7480  */
7481     void
7482 maybe_intro_message(void)
7483 {
7484     if (BUFEMPTY()
7485 	    && curbuf->b_fname == NULL
7486 	    && firstwin->w_next == NULL
7487 	    && vim_strchr(p_shm, SHM_INTRO) == NULL)
7488 	intro_message(FALSE);
7489 }
7490 
7491 /*
7492  * Give an introductory message about Vim.
7493  * Only used when starting Vim on an empty file, without a file name.
7494  * Or with the ":intro" command (for Sven :-).
7495  */
7496     static void
7497 intro_message(
7498     int		colon)		// TRUE for ":intro"
7499 {
7500     int		i;
7501     int		row;
7502     int		blanklines;
7503     int		sponsor;
7504     char	*p;
7505     static char	*(lines[]) =
7506     {
7507 	N_("VIM - Vi IMproved"),
7508 	"",
7509 	N_("version "),
7510 	N_("by Bram Moolenaar et al."),
7511 #ifdef MODIFIED_BY
7512 	" ",
7513 #endif
7514 	N_("Vim is open source and freely distributable"),
7515 	"",
7516 	N_("Help poor children in Uganda!"),
7517 	N_("type  :help iccf<Enter>       for information "),
7518 	"",
7519 	N_("type  :q<Enter>               to exit         "),
7520 	N_("type  :help<Enter>  or  <F1>  for on-line help"),
7521 	N_("type  :help version8<Enter>   for version info"),
7522 	NULL,
7523 	"",
7524 	N_("Running in Vi compatible mode"),
7525 	N_("type  :set nocp<Enter>        for Vim defaults"),
7526 	N_("type  :help cp-default<Enter> for info on this"),
7527     };
7528 #ifdef FEAT_GUI
7529     static char	*(gui_lines[]) =
7530     {
7531 	NULL,
7532 	NULL,
7533 	NULL,
7534 	NULL,
7535 #ifdef MODIFIED_BY
7536 	NULL,
7537 #endif
7538 	NULL,
7539 	NULL,
7540 	NULL,
7541 	N_("menu  Help->Orphans           for information    "),
7542 	NULL,
7543 	N_("Running modeless, typed text is inserted"),
7544 	N_("menu  Edit->Global Settings->Toggle Insert Mode  "),
7545 	N_("                              for two modes      "),
7546 	NULL,
7547 	NULL,
7548 	NULL,
7549 	N_("menu  Edit->Global Settings->Toggle Vi Compatible"),
7550 	N_("                              for Vim defaults   "),
7551     };
7552 #endif
7553 
7554     // blanklines = screen height - # message lines
7555     blanklines = (int)Rows - (ARRAY_LENGTH(lines) - 1);
7556     if (!p_cp)
7557 	blanklines += 4;  // add 4 for not showing "Vi compatible" message
7558 
7559     // Don't overwrite a statusline.  Depends on 'cmdheight'.
7560     if (p_ls > 1)
7561 	blanklines -= Rows - topframe->fr_height;
7562     if (blanklines < 0)
7563 	blanklines = 0;
7564 
7565     // Show the sponsor and register message one out of four times, the Uganda
7566     // message two out of four times.
7567     sponsor = (int)time(NULL);
7568     sponsor = ((sponsor & 2) == 0) - ((sponsor & 4) == 0);
7569 
7570     // start displaying the message lines after half of the blank lines
7571     row = blanklines / 2;
7572     if ((row >= 2 && Columns >= 50) || colon)
7573     {
7574 	for (i = 0; i < (int)ARRAY_LENGTH(lines); ++i)
7575 	{
7576 	    p = lines[i];
7577 #ifdef FEAT_GUI
7578 	    if (p_im && gui.in_use && gui_lines[i] != NULL)
7579 		p = gui_lines[i];
7580 #endif
7581 	    if (p == NULL)
7582 	    {
7583 		if (!p_cp)
7584 		    break;
7585 		continue;
7586 	    }
7587 	    if (sponsor != 0)
7588 	    {
7589 		if (strstr(p, "children") != NULL)
7590 		    p = sponsor < 0
7591 			? N_("Sponsor Vim development!")
7592 			: N_("Become a registered Vim user!");
7593 		else if (strstr(p, "iccf") != NULL)
7594 		    p = sponsor < 0
7595 			? N_("type  :help sponsor<Enter>    for information ")
7596 			: N_("type  :help register<Enter>   for information ");
7597 		else if (strstr(p, "Orphans") != NULL)
7598 		    p = N_("menu  Help->Sponsor/Register  for information    ");
7599 	    }
7600 	    if (*p != NUL)
7601 		do_intro_line(row, (char_u *)_(p), i == 2, 0);
7602 	    ++row;
7603 	}
7604     }
7605 
7606     // Make the wait-return message appear just below the text.
7607     if (colon)
7608 	msg_row = row;
7609 }
7610 
7611     static void
7612 do_intro_line(
7613     int		row,
7614     char_u	*mesg,
7615     int		add_version,
7616     int		attr)
7617 {
7618     char_u	vers[20];
7619     int		col;
7620     char_u	*p;
7621     int		l;
7622     int		clen;
7623 #ifdef MODIFIED_BY
7624 # define MODBY_LEN 150
7625     char_u	modby[MODBY_LEN];
7626 
7627     if (*mesg == ' ')
7628     {
7629 	vim_strncpy(modby, (char_u *)_("Modified by "), MODBY_LEN - 1);
7630 	l = (int)STRLEN(modby);
7631 	vim_strncpy(modby + l, (char_u *)MODIFIED_BY, MODBY_LEN - l - 1);
7632 	mesg = modby;
7633     }
7634 #endif
7635 
7636     // Center the message horizontally.
7637     col = vim_strsize(mesg);
7638     if (add_version)
7639     {
7640 	STRCPY(vers, mediumVersion);
7641 	if (highest_patch())
7642 	{
7643 	    // Check for 9.9x or 9.9xx, alpha/beta version
7644 	    if (isalpha((int)vers[3]))
7645 	    {
7646 		int len = (isalpha((int)vers[4])) ? 5 : 4;
7647 		sprintf((char *)vers + len, ".%d%s", highest_patch(),
7648 							 mediumVersion + len);
7649 	    }
7650 	    else
7651 		sprintf((char *)vers + 3, ".%d", highest_patch());
7652 	}
7653 	col += (int)STRLEN(vers);
7654     }
7655     col = (Columns - col) / 2;
7656     if (col < 0)
7657 	col = 0;
7658 
7659     // Split up in parts to highlight <> items differently.
7660     for (p = mesg; *p != NUL; p += l)
7661     {
7662 	clen = 0;
7663 	for (l = 0; p[l] != NUL
7664 			 && (l == 0 || (p[l] != '<' && p[l - 1] != '>')); ++l)
7665 	{
7666 	    if (has_mbyte)
7667 	    {
7668 		clen += ptr2cells(p + l);
7669 		l += (*mb_ptr2len)(p + l) - 1;
7670 	    }
7671 	    else
7672 		clen += byte2cells(p[l]);
7673 	}
7674 	screen_puts_len(p, l, row, col, *p == '<' ? HL_ATTR(HLF_8) : attr);
7675 	col += clen;
7676     }
7677 
7678     // Add the version number to the version line.
7679     if (add_version)
7680 	screen_puts(vers, row, col, 0);
7681 }
7682 
7683 /*
7684  * ":intro": clear screen, display intro screen and wait for return.
7685  */
7686     void
7687 ex_intro(exarg_T *eap UNUSED)
7688 {
7689     screenclear();
7690     intro_message(TRUE);
7691     wait_return(TRUE);
7692 }
7693