summaryrefslogtreecommitdiff
path: root/doc/gperf.ps
blob: f3fc7c1e9ac3db7a9ebcd57c2dcf0a63ae332583 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
%%Title: gperf.dvi
%%Pages: 32
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%DocumentPaperSizes: a4
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D600 -o gperf.ps gperf.dvi
%DVIPSParameters: dpi=600, compressed
%DVIPSSource:  TeX output 2003.05.07:1528
%%BeginProcSet: texc.pro
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
(LaserWriter 16/600)]{A length product length le{A length product exch 0
exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end

%%EndProcSet
TeXDict begin 39158280 55380996 1000 600 600 (gperf.dvi)
@start
%DVIPSBitmapFont: Fa cmbxti10 14.4 1
/Fa 1 47 df<13FCEA03FF000F13804813C05AA25AA2B5FCA31480A214006C5A6C5A6C5A
EA0FE0121271912B>46 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fb cmti9 9 1
/Fb 1 47 df<121C127F12FFA412FE12380808778718>46 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fc cmtt9 9 29
/Fc 29 126 df<000F1470486C13F8383FC001EA7FE0140315F038FFF00700F914E0A214
0F15C0A2141F00FF1480387FE03F1500A26C485A381F807E380F00FEC75AA213015CA213
035C13075CA2130F5C131F5CA2133F91C7FCA24913F090387E01F89038FE03FC9038FC07
FEA212019038F80FFF0003149F13F0A2120713E0A2000F14FF9038C007FE121F1380EC03
FC000FEB01F86CC712F0203A7DB327>37 D<007FB512F8B612FCA46C14F81E067C9927>
45 D<1278B612FE15FFA315FE39FC0001FCEC03F8EC07F0007814E0C7120FEC1FC01580
143FEC7F00147E14FE5C13015C13035C13075CA2495AA3495AA3133F91C7FCA55B137EA9
133C20307DAE27>55 D<007FB512F8B612FCA46C14F81E067C7E27>95
D<3803FFC0000F13F04813FC4813FF811380EC1FC0381F000F000480C71207A2EB0FFF13
7F0003B5FC120F5A383FFC07EA7FC0130012FE5AA46C130F007F131FEBC0FF6CB612806C
15C07E000313F1C69038807F8022207C9F27>97 D<EA7FE0487EA3127F1203A914FF01F3
13C090B512F08181EC81FE49C67E49EB3F8049131F16C049130FA216E01507A6150F16C0
7F151F6DEB3F80157F6DEBFF009038FF83FEECFFFC5D5D01F313C02601E0FEC7FC232E7F
AD27>I<EB0FFF017F13C048B512E04814F05A380FF807EA1FE0393FC003E09038800080
48C8FC127EA212FE5AA67E127EA2007F14F0393F8001F813C0381FE003390FF80FF06CB5
FC6C14E06C14C06C6C1300EB0FF81D207B9F27>I<EC3FF04A7EA3143F1401A9EB0FE1EB
7FFD48B5FC5A5A380FF83F381FE00F383FC007EB8003EA7F00007E1301A212FE5AA67E00
7E1303A2127F6C1307EB800F381FE01F380FF03F6CB612C06C15E06C13FD38007FF9D91F
E013C0232E7EAD27>I<EB0FF8EB3FFE90B51280000314C04814E0390FFC0FF0391FE003
F8EBC001D83F8013FC48C7FC127E157E12FEB612FEA415FC00FCC8FC7E127E127F6C143C
6D137E6C7E01F013FE390FFC07FC6CB5FC000114F86C14F0013F13C0903807FE001F207D
9F27>I<EC1FF0ECFFF84913FC4913FE5BEB0FF014C0011F137CEC8000A6007FB512F0B6
12F8A36C14F039001F8000B3A4003FB512C04814E0A36C14C01F2E7EAD27>I<153F9039
1FC0FF80D97FF313C048B612E05A4814EF390FF07F873A1FC01FC3C0EDC000EB800F4848
6C7EA66C6C485AEBC01FA2390FF07F8090B5C7FC5C485BEB7FF0EB1FC090C9FCA27F6CB5
FC15E015F84814FE4880EB8001007EC7EA3F80007C140F00FC15C0481407A46C140F007C
1580007F143F6C6CEB7F009038F807FF6CB55A000714F86C5CC614C0D90FFCC7FC23337E
A027>I<EA7FE0487EA3127F1203A9147F9038F1FFC001F713F090B5FC8114C1EC01FCEB
FE005B5BA25BB03A7FFF83FFE0B500C713F0A36C018313E0242E7FAD27>I<130F497E49
7EA46D5A6DC7FC90C8FCA7383FFF80487FA37EEA000FB3A4007FB512F0B6FC15F815F07E
1D2F7BAE27>I<EA7FE07F12FF127FA21201A991383FFFC04A13E0A36E13C0913803F800
4A5A4A5A4A5A4A5A02FFC7FCEBF1FEEBF3FCEBF7F8EBFFFC8080143F496C7E496C7E01F8
7FEBF0076E7E6E7E816E7E157E3A7FFFC1FFF002C313F8B512E36C13C316F0252E80AD27
>107 D<387FFF80B57EA37EEA000FB3B2007FB512F8B612FCA36C14F81E2E7CAD27>I<39
7F07C01F3AFF9FF07FC09039FFF9FFE091B57E7E3A0FFC7FF1F89038F03FC001E0138001
C01300A3EB803EB03A7FF0FFC3FF486C01E3138001F913E701F813E36C4801C313002920
819F27>I<387FE07F39FFF1FFC001F713F090B5FC6C80000313C1EC01FCEBFE005B5BA2
5BB03A7FFF83FFE0B500C713F0A36C018313E024207F9F27>I<EB1FE0EB7FF83801FFFE
487F481480390FF03FC0391FC00FE0393F8007F0EB00034814F8007E1301A248EB00FCA7
6C1301007E14F8A2007F1303393F8007F0A2391FE01FE0390FF03FC06CB512806C14006C
5B38007FF8EB1FE01E207C9F27>I<387FE0FFD8FFF313C090B512F0816C800003EB81FE
49C67E49EB3F8049131F16C049130FA216E01507A6150F16C07F151F6DEB3F80157F6DEB
FF009038FF83FEECFFFC5D5D01F313C0D9F0FEC7FC91C8FCAC387FFF80B57EA36C5B2331
7F9F27>I<397FFC03FC39FFFE0FFF023F13804A13C0007F90B5FC39007FFE1F14F89138
F00F809138E002004AC7FC5CA291C8FCA2137EAD007FB57EB67EA36C5C22207E9F27>
114 D<9038FFF3800007EBFFC0121F5A5AEB803F38FC000F5AA2EC07806C90C7FCEA7F80
13FC383FFFF06C13FC000713FF00011480D8000F13C09038003FE014070078EB03F000FC
1301A27E14036CEB07E0EBE01F90B512C01580150000FB13FC38707FF01C207B9F27>I<
133C137EA8007FB512F0B612F8A36C14F0D8007EC7FCAE1518157EA415FE6D13FC1483EC
FFF86D13F06D13E0010313C0010013001F297EA827>I<397FE01FF8486C487EA3007F13
1F00031300B21401A21403EBFC0F6CB612E016F07EEB3FFE90390FF87FE024207F9F27>
I<3A7FFE07FFE000FF15F06D5A497E007F15E03A0F80001F00A36D5B0007143EA414F0EB
C1F83903E3FC7CA4EBE79EA200011478A301F713F8A2EBFF0F6C5CA3EBFE0790387C03E0
24207F9F27>119 D<393FFC1FFF486C5A168016006C487E3901F807E06C6C485A4A5A01
7E90C7FC6D5AEB1F7E5C6D5A13076D5A5C80497E130F497E143EEB3E3FEB7E1F90387C0F
8001F87F00016D7E3803F0033A7FFE1FFF80A2B54813C06C486C1380A222207E9F27>I<
3A7FFC0FFF80486C4813C0A36C486C13803A07E000F800000313015D13F00001130301F8
5B1200A26D485A137CA290387E0F80133EA2011F90C7FC5CA2130F149E14BE130714FC13
03A25C1301A25CA213035CA213075C1208EA3E0F007F5B131FD87E7FC8FCEA7FFE6C5A5B
6C5AEA07C022317E9F27>I<001FB512FE4814FFA490380001FEEC03FCEC07F8EC0FF000
1EEB1FE0C7EA3FC0EC7F80ECFF00495A495A495AEB1FE0495A495A49C7FC485A4848131E
4848133F485A485A485A485AB7FCA46C14FE20207E9F27>I<EC07F8EC3FFC14FF130315
F8903807FE00EB0FF05C5CB0131FEB7F80EA3FFFB5C7FC5BA27F003F7FEA007FEB1FC013
0FB08080EB07FE903803FFF815FC1300143FEC07F81E3A7CB327>I<EA7F80EAFFF013FC
13FF7E00017F38003FC0131F130FB080EB07F8ECFFF06D13FC7FA25B4913F0ECF800EB0F
E05CB0131F133F48B45A007F90C7FCB5FC13FC13F0EA7F801E3A7CB327>125
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fd cmr9 9 47
/Fd 47 123 df<123C127EB4FCA21380A2127F123D1201A412031300A25A1206120E120C
121C5A5A126009177AB315>39 D<123C127EB4FCA21380A2127F123D1201A412031300A2
5A1206120E120C121C5A5A126009177A8715>44 D<EB0FE0EB7FFCEBF83E3903E00F8039
07C007C0EB8003000F14E0391F0001F0A24814F8A2003E1300007E14FCA500FE14FEB200
7E14FCA56CEB01F8A36C14F0A2390F8003E03907C007C0A23903E00F803900F83E00EB7F
FCEB0FE01F347DB126>48 D<13075B5B137FEA07FFB5FC13BFEAF83F1200B3B3A2497E00
7FB51280A319327AB126>I<EB3FC0EBFFF0000313FC380F80FF391E007F80001CEB3FC0
48EB1FE048130F15F00060130712FC6C14F87E1403A3007E1307123CC7FC15F0A2140F15
E0EC1FC0A2EC3F801500147E5C495A5C495A495A495A49C7FC133E133C4913185B485A48
481330485A48C7FC001C1470001FB512F05A5AB612E0A31D327CB126>I<EB1FE0EBFFFC
4813FF3907E03F80390F001FC0001EEB0FE0001CEB07F0123F018013F8140313C01380A2
381F0007C7FC15F0A2EC0FE015C0141FEC3F80EC7E00EB01F8EB7FE014FCEB003FEC1FC0
EC0FE0EC07F015F8140315FC140115FEA3127EB4FCA415FC48130312780070EB07F86C14
F0003C130F001FEB1FE0390FE03F800003B51200C613FCEB1FE01F347DB126>I<EC01C0
A214031407A2140F141FA2143F147F146F14CF1301EB038F140F1307130E130C131C1338
1330137013E013C0EA0180120313001206120E120C5A123812305A12E0B71280A3C7380F
C000A94A7E0107B51280A321337EB226>I<000C14C0380FC00F90B5128015005C5C14F0
14C0D80C18C7FC90C8FCA9EB0FC0EB7FF8EBF07C380FC03F9038001F80EC0FC0120E000C
EB07E0A2C713F01403A215F8A41218127E12FEA315F0140712F8006014E01270EC0FC06C
131F003C14806CEB7F00380F80FE3807FFF8000113E038003F801D347CB126>I<123012
3C003FB6FCA34814FEA215FC0070C7123800601430157015E04814C01401EC0380C7EA07
001406140E5C141814385CA25CA2495A1303A3495AA2130FA3131F91C7FCA25BA55BA913
1C20347CB126>55 D<EB0FE0EB7FFC90B5FC3903F01F803907C007C0390F0003E0000EEB
01F0001E1300001C14F8003C1478A3123EA2003F14F86D13F0EBC001D81FF013E09038F8
03C0390FFE07803907FF0F006C13DE6C13F87EEB3FFE8001F713C0D803E313E0D8078013
F0390F007FF8001E131F003EEB07FC003C1303481301EC007E12F848143EA2151EA37E15
3C1278007C14787E6C14F0390F8003E03907F01FC00001B5120038007FFCEB1FE01F347D
B126>I<EB0FE0EB7FF8EBFFFE3803F83F3907E00F80390FC007C0D81F8013E0EC03F0EA
3F0048EB01F8127EA200FE14FC1400A415FEA5007E1301A2127F7E1403EA1F80000F1307
3807C00E3803E01C3801F03838007FF090381FC0FC90C7FC1401A215F8A215F01403001F
14E0383F800715C0140FEC1F809038003F00001C137E381F01FC380FFFF0000313C0C690
C7FC1F347DB126>I<15E0A34A7EA24A7EA34A7EA3EC0DFE140CA2EC187FA34A6C7EA202
707FEC601FA202E07FECC00FA2D901807F1507A249486C7EA301066D7EA2010E80010FB5
FCA249800118C77EA24981163FA2496E7EA3496E7EA20001821607487ED81FF04A7ED8FF
FE49B512E0A333367DB53A>65 D<B7FC16E016F83A03FC0003FE0001EC00FFEE7F80EE3F
C0161F17E0160F17F0A617E0161F17C0EE3F80EE7F0016FEED03FC90B612F05E9039FC00
07FCED00FEEE3F80EE1FC0EE0FE017F0160717F8160317FCA617F81607A2EE0FF0EE1FE0
163FEE7FC00003913803FF00B75A16F816C02E337DB236>I<DA03FE130C91393FFF801C
91B512E0903A03FE01F83C903A0FF0003C7CD91FC0EB0EFCD97F80130701FEC712034848
1401000315005B4848157C485A173C485A171C123F5B007F160CA390C9FC481600AB7E6D
150CA3123F7F001F161C17186C7E17386C6C15306C6C15706D15E012016C6CEC01C0D97F
80EB0380D91FC0EB0F00D90FF0131ED903FE13FC0100B512F0023F13C0DA03FEC7FC2E37
7CB437>I<B77E16F016FE3A01FE0001FF00009138003FC0EE0FE0707E707E707E707E17
7E177FEF3F80A2EF1FC0A3EF0FE0A418F0AA18E0A3171F18C0A21880173F18005F17FE5F
4C5AEE07F04C5AEE3FC000014AB45AB748C7FC16F8168034337EB23B>I<B81280A3D803
FCC7FC0001151FEE07C01603A21601A21600A41760150CA31700A2151CA2153C15FC90B5
FCA3EBFC00153C151CA2150CA592C8FCAB487EB512FEA32B337DB232>70
D<B512FEA3000113006C5AB3B3A7487EB512FEA317337EB21C>73
D<017FB5FCA39038003FE0EC1FC0B3B1127EB4FCA4EC3F805A0060140000705B6C13FE6C
485A380F03F03803FFC0C690C7FC20357DB227>I<B500FE903807FFF8A3000190C70001
13006C48EC00FC17F04C5A4C5A4CC7FC160E5E5E5E5E4B5A4B5A4BC8FC150E5D5D15F84A
7E14034A7EEC0EFF5C4A6C7E4A6C7EECE01FD9FFC07F4A6C7E4A6C7E5B6F7E6F7EA26F7E
707EA2707E707E160F83707E707EA283486C913807FF80B500FE013F13FCA336337EB23C
>I<B512FEA3D803FEC9FC6C5AB3A9EE0180A416031700A45EA25E5E5E5E16FE00031407
B7FCA329337DB230>I<D8FFFC923801FFF86D5DA20003EFFE00D801BFED06FCA3D99F80
140CA2D98FC01418A3D987E01430A2D983F01460A3D981F814C0A3D980FCEB0180A2027E
EB0300A36E1306A26E6C5AA36E6C5AA36E6C5AA26E6C5AA36E6C5AA3913800FD80A2037F
C7FCA3486C133ED80FF04B7EB5011C90387FFFF8A33D337CB246>I<D8FFFE91381FFFF8
7F80C6030013006E143CD9DFE01418EBCFF0A2EBC7F8EBC3FCA2EBC1FEEBC0FF6E7EA26E
7E6E7EA26E7E6E7E6E7EA26E7E6E7EA2ED7F80ED3FC0ED1FE0A2ED0FF0ED07F8A2ED03FC
ED01FEED00FFA2EE7F98EE3FD8A2EE1FF8160F1607A216031601A2486C1400D807F81578
B500C01438A2171835337EB23A>I<90381FE00390387FFC0748B5FC3907F01FCF390F80
03FF48C7FC003E80814880A200788000F880A46C80A27E92C7FC127F13C0EA3FF013FF6C
13F06C13FF6C14C06C14F0C680013F7F01037F9038003FFF140302001380157F153FED1F
C0150F12C0A21507A37EA26CEC0F80A26C15006C5C6C143E6C147E01C05B39F1FC03F800
E0B512E0011F138026C003FEC7FC22377CB42B>83 D<B500FE90381FFFF8A3000190C813
006C48153C1718B3AF1738017F1530A217706D6C1460011F15E06E495A010F14036D6C49
5A6D6C49C7FCD901FC131E6DB413FC91383FFFF0020F13C0020190C8FC35357EB23A>85
D<12035A120E5A12181238123012701260A212E05AA412DEB4FC1380A2127FA2EA3F0012
1E09177BB315>96 D<EB7F803803FFF0380F80FC381C003E003F133F6D6C7E6E7EA26E7E
EA1F00C7FCA4EB01FF131FEBFF873803FC07EA0FF0EA1FC0EA3F80127F13004815C05AA3
140FA26C131F6C133B3A3F8071F180391FC1E1FF2607FFC013003900FE003C22237DA126
>I<EA03F012FFA312071203AEEC3F80ECFFE09038F3C0F89038F7007E01FE7F49EB1F80
49EB0FC05BED07E016F0A2150316F8AA16F0150716E0A2ED0FC07F6DEB1F8001ECEB3F00
01CF137C90388381F8903801FFE0C76CC7FC25357EB32B>I<EB07F8EB3FFF9038FC07C0
3901F000E03903E003F03807C007120FEA1F80123F90380003E04890C7FCA2127E12FEAA
127FA26C14187F001F14386D1330000F14706C6C13E03903F001C03900FC0F8090383FFE
00EB07F01D237EA122>I<153FEC0FFFA3EC007F81AEEB07F0EB3FFCEBFC0F3901F003BF
3907E001FF48487E48487F8148C7FCA25A127E12FEAA127E127FA27E6C6C5BA26C6C5B6C
6C4813803A03F007BFFC3900F81E3FEB3FFCD90FE0130026357DB32B>I<EB0FE0EB7FFC
EBF83F3903F00F80D807E013C0390FC007E0381F800315F0EA3F0014014814F8127EA212
FEA2B6FCA248C8FCA5127E127FA26C1418A26C6C1338000F14306D13706C6C13E03901F0
03C03900FC0F00EB3FFEEB07F01D237EA122>I<EB01FCEB07FF90381F078090383E0FC0
EB7C1F13FCEA01F8A20003EB070049C7FCACB512F0A3D803F0C7FCB3A7487E387FFFE0A3
1A357FB417>I<151F90391FC07F809039FFF8E3C03901F07FC73907E03F033A0FC01F83
809039800F8000001F80EB00074880A66C5CEB800F000F5CEBC01F6C6C48C7FCEBF07C38
0EFFF8380C1FC0001CC9FCA3121EA2121F380FFFFEECFFC06C14F06C14FC4880381F0001
003EEB007F4880ED1F8048140FA56C141F007C15006C143E6C5C390FC001F83903F007E0
C6B51280D91FFCC7FC22337EA126>I<EA03F012FFA312071203AEEC1FC0EC7FF09038F1
E0FC9038F3807C9038F7007E13FE497FA25BA25BB3486CEB7F80B538C7FFFCA326347EB3
2B>I<EA0780EA0FC0EA1FE0A4EA0FC0EA0780C7FCAAEA07E012FFA3120F1207B3A6EA0F
F0B5FCA310337EB215>I<EA07E012FFA3120F1207B3B3A7EA0FF0B5FCA310347EB315>
108 D<2703F01FE013FF00FF90267FF80313C0903BF1E07C0F03E0903BF3803E1C01F028
07F7003F387FD803FE1470496D486C7EA2495CA2495CB3486C496C487EB53BC7FFFE3FFF
F0A33C217EA041>I<3903F01FC000FFEB7FF09038F1E0FC9038F3807C3907F7007EEA03
FE497FA25BA25BB3486CEB7F80B538C7FFFCA326217EA02B>I<EB07F0EB3FFE9038FC1F
803901F007C03903C001E000078048486C7E48C7127CA248147E003E143E007E143FA300
FE1580A8007E1500A36C147EA26C147C6D13FC6C6C485A00075C3903F007E03900FC1F80
D93FFEC7FCEB07F021237EA126>I<3903F03F8000FFEBFFE09038F3C0F89038F7007ED8
07FE7F6C48EB1F804914C049130F16E0ED07F0A3ED03F8A9150716F0A216E0150F16C06D
131F6DEB3F80160001FF13FC9038F381F89038F1FFE0D9F07FC7FC91C8FCAA487EB512C0
A325307EA02B>I<3803E07C38FFE1FF9038E38F809038E71FC0EA07EEEA03ECA29038FC
0F8049C7FCA35BB2487EB512E0A31A217FA01E>114 D<EBFF06000713CE381F00FE003C
133E48131E140E5A1406A27EA200FE90C7FC6C7EEA7FFC383FFFC014F0000F7F6C7FC67F
EB0FFF1300EC3F8000C0131F140F6C1307A37E15006C5B6C130E6C5B38F7807838E1FFE0
38C07F8019237EA11E>I<1330A51370A313F0A21201A212031207381FFFFEB5FCA23803
F000AF1403A814073801F806A23800FC0EEB7E1CEB1FF8EB07E0182F7FAD1E>I<D803F0
133F00FFEB0FFFA30007EB007F000380B35DA35D12016D4813800000903803BFFC90387E
073FEB1FFED907F8130026227EA02B>I<B5EBFFF0A3D80FF0EB3F800007EC1F00000314
0E150C6D131C00011418A26C6C5BA26D1370017E1360137F6D5BA290381F8180A214C301
0F90C7FCA2EB07E6A214FE6D5AA26D5AA36D5AA2146024217E9F29>I<B53A1FFF81FFF0
A33C07F801FC003F8001F049EB1E0000030100141C816C6C017C1318A26D017E13380000
02FE1330A290267E01FF5B159F168090263F030F5BA216C0903A1F8607C180A202C613E3
90260FCC0390C7FCA2D907FC13F6ECF80116FE6D486C5AA36D481378A36D48133034217F
9F37>I<3A7FFF807FF8A33A07F8001FC00003EC0F800001EC070015066C6C5BA26D131C
017E1318A26D5BA2EC8070011F1360ECC0E0010F5BA2903807E180A214F3010390C7FC14
FBEB01FEA26D5AA31478A21430A25CA214E05CA2495A1278D8FC03C8FCA21306130EEA70
1CEA7838EA1FF0EA0FC025307F9F29>121 D<003FB512F0A2EB000F003C14E00038EB1F
C00030EB3F800070137F1500006013FE495A13035CC6485A495AA2495A495A49C7FC1530
13FE485A12035B48481370485A001F14604913E0485A387F000348130F90B5FCA21C207E
9F22>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fe cmb10 10.95 2
/Fe 2 109 df<EB0FFE90387FFFC048B512F04814FC3907FC0FFE48486C7E6D6C7F486C
7E82A26E7FA36C5A6C5AEA01E0C8FC5C49B5FC131F90B6FC000313F84813C0481300EA1F
FC485A127F5B12FF5BA45CA26C6C5A16F83B3FF807BFFF80391FFC1F3F390FFFFE1F6C49
7E0001EBF80326003FE0C8FC292B7EA92C>97 D<13FFB5FCA512077EB3B3AFB512FCA516
3F7EBE19>108 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ff cmss10 10.95 2
/Ff 2 42 df<14FCEB01F8EB03F0EB07E0EB0FC0131F1480EB3F005B137E5B12015B1203
A2485AA25B120FA25B121FA25B123FA448C7FCA712FEB3A2127FA76C7EA4121F7FA2120F
7FA212077FA26C7EA212017F1200137E137F7FEB1F8014C0130FEB07E0EB03F0EB01F8EB
00FC165A79C323>40 D<12FC127E7E6C7E6C7E7F12076C7E7F12016C7E7F137E137FA2EB
3F80A2131F14C0A2130F14E0A2130714F0A4EB03F8A7EB01FCB3A2EB03F8A7EB07F0A414
E0130FA214C0131FA21480133FA2EB7F00A2137E13FE5B485A12035B485A120F5B485A48
C7FC127E5A165A7BC323>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fg cmbx10 12 11
/Fg 11 120 df<903801FFF8011FEBFF80017F14E090B612F8489038807FFC3A03FE001F
FE486CEB07FF486E7F0280806F7FA36F7F6C90C7FCA26C5AEA00F890C8FCA2150F021FB5
FC0103B6FC131F017F13C03901FFFC004813E0000F13804890C7FC485A5B485AA2485AA4
5DA26C6C5BED07BF6C6C010F13FC6CB490391F3FFFE06C9026C0FE1F13F06CEBFFFC6CEC
F007C66CD9E00113E0010790C9FC342F7DAD38>97 D<EFFF804BB5FCA5ED000782B1EC1F
FC49B51283010F14E3013F14F390267FFC07B5FC9038FFF0004801C0133F48497F4890C7
7E484880121F5B123FA2127F5BA312FFAB127FA36C7EA2121F7F000F5D6C6C5C5E6C6D90
B512C06CD9E00114FF39007FF80F6DB512E7010F14C7010314079026003FF0EBFC003846
7CC440>100 D<EC1FFE49B512C0010714F0011F14FC90397FFC0FFE903AFFE003FF8048
49C613C0485B4890C7EA7FE048ED3FF0485AEE1FF8485AA2007F150F4915FCA212FFA390
B7FCA317F801F8C9FCA5127FA27FA2003F1638177C6C6C15FCA26C6CEC01F86C6D13036C
ED07F06C6DEB0FE06C01F0EB3FC0903A3FFE01FF806DB5EAFE0001075C010014F0020F90
C7FC2E2F7DAD35>I<EB7FC0B5FCA512037EB1923803FF80031F13F0037F7F92B57E9139
C1FC1FFE9139C3E00FFF9126C7C0077FECCF0002DE7F02FC81A25C5CA35CB3A7B600C1B6
1280A539457CC440>104 D<13FCEA03FF4813804813C0A24813E0A66C13C0A26C13806C
1300EA00FC90C7FCA9EB7FC0EA7FFFA512037EB3AFB6FCA518467CC520>I<903A7FC003
FF80B5011F13F0037F7F92B57E9139C1FC1FFE9139C3E00FFF00039026C7C0077F6CEBCF
0002DE7F02FC81A25C5CA35CB3A7B600C1B61280A5392D7CAC40>110
D<EC1FFE49B512E0010714F8011F14FE903A7FF807FF809026FFE0017F48903980007FE0
4890C76C7E48486E7E000F8249140F001F82A2003F824980007F1780A400FF17C0AA007F
1780A46C6C4A1300A2001F5EA26C6C4A5A00075E6D143F6C6D495AC69039E001FFC09026
7FF8075B6DB6C7FC010F14FC010114E09026001FFEC8FC322F7DAD39>I<90397F803FC0
B5EBFFF0028313F8028713FC91388FE7FE91389F8FFF0003EB9E0F6C13BCA214F8A29138
F007FEED03FC9138E001F892C7FCA35CB3A5B612C0A5282D7DAC2F>114
D<90391FFE078090B512DF000314FF5A380FF803381FE000D83F80133F127F90C7121FA2
48140FA27FA201E090C7FC13F8EBFFC06C13FEECFFC06C14F015FC6C806C806C15800001
15C07E011F14E01301D9000713F014000078147F00F8143F151F6C140FA37E6C15E0151F
6D14C06D133F01F0EB7F809039FC03FF0090B55A00FC5CD8F83F13F0D8F00790C7FC242F
7CAD2D>I<EB01F0A51303A41307A2130FA2131FA2133F137F13FF1203000F90B512C0B7
FCA4C601F0C7FCB3A3ED01F0AA017FEB03E014F81507D93FFC13C090391FFE1F806DB512
006D5B01015B9038003FF024407EBE2D>I<B5D8FE1FB539801FFFF0A500039027C0007F
F0C7EAFE00043F157C6E6E14FC6C031F5D6E6E13016C61836E013F1403017F606E496C13
07013F606EED800F011F91B55C16F9DAFF01ECC01F6D02F092C7FC03816E5A6D0183153E
EEE07F03C7ECF07E6DDAC03F137C03E7ECF8FC6D01EF5DEE801F03FF14FD6DDA000F5B18
FF6E486D5BA36E486D5BA26E486D5BA2020F93C8FC4B7FA26E48147E6E48143C4C2C7DAB
53>119 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fh cmtt10 12 8
/Fh 8 118 df<ED7FFC4B7EA4157F1500ABECFF80010313F0010F13F8013F13FE4913FF
48B6FC4813C09038FE003FD807F8130F48481307484813035B003F14015B007F140090C8
FCA25A5AA97E6C1401A27F003F14037F001F14077F6C6C130F6D131F6C6C137F2603FF81
B512FC6C90B612FE6C5C6D5B011F13F001079038E07FFC010090C8FC2F3E7DBC34>100
D<ECFFC0010313F0010F13FC013F13FF49148090B612C04801C013E03A03FE001FF04848
EB0FF8D80FF013074848EB03FC1501485A49EB00FE127F90C8FC16FF167F5A5AB8FCA516
FE48C9FC7E7EA27F123F6D143E001F157F7F6C7E6D14FF6C6CEB01FE6CB413076C9038E0
3FFC6C90B512F86D14F0011F14E06D14800101EBFE009038003FF0282E7BAC34>I<49B4
EB1FE001079038C0FFF8011F01F313FC017F90B512FE90B7FC5A48018313F1903AFC007F
80FC484890383FC07849011F130048486D7EA2001F81491307A66D130F000F5DA26C6C49
5A6D133F6C6C495A9038FF83FF91B5C7FC485C5D4814F001C713C001C190C8FC01C0C9FC
A47F6C7E90B512FE6CECFFE06C15F8000715FE48814816809026F0000313C0D83FC09038
003FE090C8120F48ED07F0007E150300FE16F8481501A56C1503007E16F0007F15076C6C
EC0FE001E0143FD81FF8ECFFC0270FFF800F13806C90B612006C5DC615F8013F14E0010F
1480010001F8C7FC2F447DAB34>103 D<14F0497E497E497EA46D5A6D5A6D5A91C8FCA9
383FFFFC487FA47EC7FCB3AD003FB612F04815F8B7FCA27E6C15F0253E79BD34>105
D<15FF267FFC0713E026FFFE1F7F027F7F91B57E90B67E6C1481C69038FC00FF02F07F4A
804A133F5CA291C7FCA35BB3A4277FFFFC0FB5FCB56C481480A46C496C1400312C7FAB34
>110 D<90390FFF078090B5EACFC0000314FF5A5A5A383FF803397F80007F90C7123F12
FE48141FA47E007FEC0F8001C090C7FCEA3FF8381FFFE06C13FF6C14E06C14F8C614FE01
1F7FD9007F1380020313C09138003FE0ED0FF0003C1407007EEC03F800FE1401A27EA36D
13036D14F06D13076DEB1FE001FE13FF90B612C016801600D8FC7F13FC6D13F0D8780713
80252E79AC34>115 D<EB01E0497E1307AA003FB612FE4881B8FCA36C5D260007F0C8FC
B3A3EE0F80EE1FC0A66EEB3F800103147F6E13FF902601FF031300EDFFFE6D5C6E5B6E5B
020F13C0020190C7FC2A387EB634>I<D87FFCEB1FFF486C497FA4007F800000EC003FB3
A7167FA216FFA26D5B6D1307DAE01F13FF6DB712807F7F6D143F0101D9FC1F1300902600
7FF0C8FC312C7FAA34>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fi cmtt12 13.14 9
/Fi 9 118 df<EC3FFF49B512E0010714F8011F8049805B90B7FC48EBE001481300485A
EA0FF8496D5A4848147C93C7FC485A5B127F90CAFCA35A5AA97E7EA27F123F6D141F6DEC
3F80121F6C7E01FC147F6C6CECFF006C6C6C5A6C9038F00FFE91B55A6C6C5C6D5C6D5C01
071480010149C7FC9038003FF0293278B038>99 D<ED1FFF4B7F5DA38181ED003FACEC7F
80903803FFF0010F13FC013F13FF4914BF90B7FC5A48EBC07F48EB000FD80FFC7F497F48
487F497F485A167F485A163F90C8FCA25A5AA97E6C157FA36D14FF123F6D5B6C7E5D6C6C
5B01FC5B6C6C133F2603FFC0B6FC6C90B712806C03BF13C06D143F6D13FC6D01F8148001
07D9E01F1300010090C9FC32447CC238>I<EC3FE0903801FFFC010713FF011F14C04980
498090B67E489038E03FFC4890380007FE48481301D80FF86D7E49804848158049143F00
3F16C049141F127F90C8FC17E0160F5A90B7FCA617C048CAFC7E7EA27FA26C7EEE07C06C
6CEC0FE07F6C7ED807FE141F6DEC3FC06C01C013FF6CD9FC0713806C90B612006D5C6D5C
010F5C010314E001001480DA1FFCC7FC2B327AB038>I<14F0497E497E497EA46D5A6D5A
6D5A91C8FCAB383FFFFC487FB5FCA37E7EC7FCB3AF007FB612F0B712F816FCA316F86C15
F0264476C338>105 D<ED7FC03A3FFE01FFF8267FFF0713FEB5001F7F4A805C6C90B67E
6CECC07F3B007FFE001FE002F8130F4A805C16075C5CA391C7FCB3A6273FFFFE03B512E0
486D4814F0B6008F14F8A36C020714F06C496C14E035307FAF38>110
D<EEFFC0277FFFC00713F8B5D8E01F13FC037F13FE92B5FC02E114FF14E36C01E713813A
000FEFFC019139FFF000FE4B137C0380130092C8FCA25C5CA25CA25CA45CB2007FB67EB7
7E82A35E6C5D30307CAF38>114 D<903907FF80F0017FEBF1F848B512FD000714FF5A5A
5AEBFC00D87FE0131F0180130F48C71207481403A5007FEC01F001C090C7FCEA3FF013FE
381FFFF86CEBFFC0000314F8C614FF013F1480010714E0D9003F13F0020013F8ED0FFC15
03003CEC01FE007E140000FE15FF167F7EA37F6D14FF16FE01F013036DEB07FC01FF137F
91B512F816F016E04815C0D8FC3F1400010F13FCD8780113E0283278B038>I<EB01E049
7E1307AB003FB712804816C0B8FCA46C1680260007F0C8FCB3A4EE03E0EE07F0A66E130F
17E06D6C131F6EEB3FC0903901FF81FF92B512806D15006E5B6E5B6E13F002075B020190
C7FC2C3D7DBB38>I<D83FFE903803FFE0486C497FB55BA36C806C80C66CEB0007B3A916
0FA2161F163F6E137F6D6C13FFDAF007EBFFE091B712F06D16F87F6D14E76D02C713F001
00020313E0DA3FF8C8FC35307FAE38>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fj cmbx12 13.14 37
/Fj 37 122 df<B7FCAA200A7F9C29>45 D<EA07E0EA1FF8EA3FFCEA7FFEA2B5FCA6EA7F
FEA2EA3FFCEA1FF8EA07E01010778F22>I<15F014011407141F147FEB03FF137FB6FCA3
13FC1380C7FCB3B3B2007FB712E0A52B4777C63D>49 D<ECFFF80107EBFF80013F14F090
B612FC4881480101EBFF802707F8003F13C0D80FE0010F13E0D81F806D13F0003F80D87F
F06D13F86D15FC6D7F00FF16FE6D147FA217FF82A36C5A6C5A6C5A6C5AC95A17FEA3EEFF
FCA24B13F817F05D17E04B13C017804B13004B5A4B5A5EED7FE04B5A4A5B4A90C7FCEC07
FC4A5A4A5A4B131FEC3F804AC7FC14FE4948143E495AEB07E0495A4948147E49C8FC017E
15FE90B7FC4816FC5A5A5A5A5A5AB8FC17F8A430477AC63D>I<EC3FFE0103B512E0010F
14FC013F14FF90267FE01F7F9026FF000713E0D801FC6D7FD803F07F486C6D7FD80FFE81
7F486D80167FA3805C16FF7E91C75B6C5A6C5AD80020495B90C75C5D5F4B5B5F031F90C7
FCED3FFC4AB45A49B512E0168016E016FC90C7EA3FFF030713C06F7F6F7F6F7F83707E83
A2701380A318C0EA07E0EA1FF8487E487EA2B5FCA31880A25E491600127F494A5A6C485D
01E05B001F4A5BD80FFC495B2707FFC03F13C06C90B65AC64BC7FC013F14F8010714E090
26007FFEC8FC32487BC63D>I<EE07E0160FA2161F163F167F16FFA25D5D5DA25D5D5DA2
157D15FDEC01F915F1EC03E11407EC0FC1EC1F811501143F147E14FC14F8EB01F01303EB
07E014C0EB0F80131FEB3F00133E5B13FC485A485A5B1207485A485A90C7FC123E127E5A
B912FCA5C80003EBE000AD023FB612FCA536487DC73D>I<EE01F8A24C7EA34C7EA24C7E
A34C7FA24C7FA34C7FA293B57EA34B8016F303038016E316E103078016C0030F805E8303
1F814C7E4B81153E83037E81037C7F03FC815D830201824B7F0203825D830207824B7F02
0F825D84021F8392B8FC4A83A34A83027CC8120F02FC835C840101844A810103845C8401
07844A81010F845C85011F85496C82B600C091B712F0A5544D7CCC5D>65
D<93261FFF80EB01C00307B500F81303033F02FE13074AB7EA800F0207EEE01F021F903A
FE007FF83F027F01E0903807FC7F91B5C73801FEFF010301FCEC007F4901F0814901C015
0F4949814990C97E494882495A48498248197F5C48193F5C48191F5C48190FA2485BA21A
075AA391CDFCA2B5FCAD7EA280F207C0A27EA36C7F1A0F6C1A80806C191F6E18006C6180
6C197E6C6D177C6D6C17FC6D6C4C5A6D6D4B5A6D6D4B5A6D01F0ED1FC06D01FC4B5A0100
01FF03FFC7FC6E01E0EB07FE021F01FEEB3FFC020790B612F0020116C0DA003F92C8FC03
0714F8DB001F13804A4D79CB59>67 D<B912F0F0FF8019F019FC19FFD8001F9026800001
14C0DD001F7F060713F806017F726C7E737E737F737F737F8587737F8587A2747EA38786
A21C80A51CC0A586A462A51C80A51C00A26263A2631AFF636163614F5B634F5B073F90C7
FC4F5A4F5A06035B061F5B4DB512C0BBC8FC19FC19F0198006F0C9FC524B7CCA5E>I<BB
12C0A486D8000F01E0C77E18071801F0007F193F191F190F1907861903A31901A3EF0F80
A2737EA497C7FC171FA2173F177F17FF160392B6FCA5EDE0031600177F173F171FA2050F
EC0F80A3F21F00A494C8FC621A3EA21A7EA31AFE6219011903A21907190FF13FF819FF18
03183FBBFCA262A3494A7CC951>I<BBFCA41A80D8001F01C0C7FC181F18038484197F19
3F191F1AC0190FA31907A4171FF103E0A496C7FCA25FA25F5F5E160792B6FCA5EDC00716
01828383A283A794C9FCB1B8FCA5434A7CC94D>I<93261FFF80EB01C00307B500F81303
033F02FE13074AB7EA800F0207EEE01F021F903AFE007FF83F027F01E0903807FC7F91B5
C73801FEFF010301FCEC007F4901F0814901C0150F4949814990C97E494882495A484982
48197F5C48193F5C48191F5C48190FA2485BA21A075AA391CEFCA2B5FCAD7E050FB712C0
80A37E94C7001FEBC000807EA27E807E807E806C7F7E6D7E6D7E6D7F6D01E05D6D6D5D6D
13FC010001FF4AB5FC6E01E0EB07F9021F01FFEB3FF0020791B5EAE07F0201EEC01FDA00
3FED0007030702F81301DB001F018090C8FC524D79CB60>I<B712FEA5D8000FEBE000B3
B3B3ABB712FEA5274B7DCA2E>73 D<B700F8027FB512F0A5D8001F01C0C9EBC00074C7FC
F101FE4F5A4F5AF10FE04F5A4F5A4FC8FCF001FE4E5A4E5AF00FE04E5A4E5A4EC9FCEF01
FE4D5A4D5AEF0FE04D5A4D5A4DCAFCEE01FE16034C7E4C7F5E4C7F93B57E03C18015C303
C780DBCFE77FDBDFC37FEDFF8104017F4B6C804B7F4B6D7F03E0814B6D7F8385717F717F
83857180727F8486727F8486727F727F84867280737F8587737F87B700F8010FB612FCA5
564B7CCA60>75 D<B600E092B612FC8181A281D8001F6D9239001FE0006F705A82A28202
BF7F029F7FA2028F7F02877F02837F8214810280806F7F6F7F83816F7F6F7F6F7F83816F
80707F707F8482707F707F707FA2707F7014807113C019E0837113F07113F87113FC19FE
837113FF71148F7213CF1AEF847213FF8484A284848485A2858585A285858585497EB600
F8167F1A3F1A1F1A0FA2564B7BCA60>78 D<B700F8023FB512F8A5D8001F01C0C9380FE0
00745AB3B3AD6D180F63811A1F6D96C7FC626D7F1A7E6D7F6D606E6C4B5A6E6CED07F06E
6C4B5A6E01C0EC3FC06E01F049B45A020101FF011F90C8FC6E91B55A033F15F8030715E0
030092C9FC040713F0554C7CCA5E>85 D<B7D8E007B791B612C0A5D8003F0180C7000101
FCC9387F80006F7070C7FC6D70183EA26F70167E6D71177C876F1BFC6D715F6F831E016D
656F4B6D14036D65876F92B515076D656F4A8007F3160F6E647001036E141F6E04E194C8
FCA27001076E5C6E04C0163E8770010F177E6E4C6C157C70011F814F6C15FC6E637049ED
C0016E033E6D5D1CE070017E16036E037C6D5D7001FC15F04E6D14076E63DCFF01EEF80F
6F4A6D5DA20583EEFC1F6F4A6D92C9FC1CFE05C75F6F4A6D143E05EF16FF4E6E137E6F19
7C05FF17FC6F91C86C5BA36F496F5BA24D816F61A26F496F5BA370486F5BA370486F90CA
FCA24D81041F5FA27048167C7A4C7ECA7F>87 D<ECFFFC010FEBFFC0017F14F090B612FC
489038803FFF2703FC00077F486C6D7F486C6D7F6E7E83707EA3707E6C90C7FC6C5A6C5A
C9FCA4ED1FFF021FB5FC49B6FC130F013FEBC03F9038FFFE00000313F04813C04890C7FC
485A485AA2485AA2485AA4167FA26D14FF007F15EF6D01017F6C6C903907CFFF806C6CD9
0F8F13FE6C9038E07F076C9038FFFE0300014A7ED8003F9038F0007F0103018090C7FC37
337CB13C>97 D<91380FFF8091B512F8010314FF010F158090263FFE0013C0D97FF8EB1F
E0D9FFE0EB3FF04849EB7FF8484913FF4890C7FC5A5B121F5B003FED7FF0EE3FE0007FED
1FC093C7FC5BA212FFAC127F7FA2123FA26D153E121F6D157E6C167C6C6D14FC6C16F86C
6D13036C01F0EB07F0D97FFCEB1FE06DB4EBFFC0010F90B5120001035C010014F0020F13
802F337CB137>99 D<EF1FF0EE3FFFA51600177FB3A2EC0FFF91B512E0010314F8010F14
FE013FEB01FF903A7FF8003FFFD9FFE0130F48497F48497F4890C77E4881485AA2485AA3
127F5BA212FFAC127FA37F123FA2121F7F000F5D6C6C5C5E6C6D5B6C01E0497F6C6D017F
EBFFE090393FFE03FE6DB512F801075C010114C09027001FFC00EBC0003B4D7CCB44>I<
EC0FFF91B512F0010314FC010F14FF90263FFE077F90267FF0007F4948EB3FE04801806D
7E48824890C76C7E4848140783485A003F6F7EA3485A701380A312FFA290B8FCA401F8CA
FCA5127FA27FA2123FA26C6CED0F80A2000F161F6C6C16006E5C6C6D147E6C6D5C6C6D49
5AD97FFCEB07F0903A1FFF803FE06D90B55A010392C7FCD9007F13FC020713C031337DB1
38>I<ED7FE0913807FFFC021F7F027F7F902601FFE0138049018113C0902607FE0113E0
49485A14F8131FEB3FF0A26F13C0EB7FE06F1380EE3E0093C7FCADB77EA526007FF0C8FC
B3B3A2003FB512F8A52B4D7DCC26>I<DA7FFCEB0FF00103B538807FF8011F9138F1FFFC
4991B512FE90267FF01F13F32701FFC007138348EB0001A248486DEBC1FC000FEEE0F849
027F1300A2001F82A8000F5EA26D14FF00075E6C6C495BA26CD9C00790C7FC6C9038F01F
FC4890B55A5ED803C314809026C07FFCC8FC000790CAFCA47FA27F13FC90B612FCEEFFC0
6C16F817FE6C8218806C17C06D16E00003B812F0120FD81FFCC7000F13F8D83FF0140049
153F4848ED1FFC00FF160F491507A56D150F007F17F86D151F6C6CED3FF06C6CED7FE0D8
0FFE913801FFC06C6C6C010713806C01F8017F1300C690B612FC013F15F001071580D900
3F01F0C7FC37487DB03D>I<EB7FC0B5FCA512037EB3A2923801FFC0030F13F8033F13FE
4B7F9126C1FE077F9126C3F0037F9138C7C001DACF8080150002DE7F02FC81A25CA25CA3
5CB3A9B6D8C07FEBFFE0A53B4C7BCB44>I<13FCEA03FF487F487FA2487FA66C5BA26C5B
6C90C7FCEA00FC90C8FCACEB7FC0B5FCA512037EB3B3B61280A5194D7BCC22>I<EB7FC0
B5FCA512037EB3B3B3AAB61280A5194C7BCB22>108 D<90287FC001FFE0EC7FF8B5010F
01FC0103B5FC033F6D010F804B6D6C4814E0DBFE079026C03F817F9126C3F0019138FC00
7F0003D9C7E0DAE1F8806CDA8000D9F1E06D7E02CFC7EBF3C002DE91267FF780131F02FC
03FFC77FA24A5DA24A5DA34A5DB3A9B6D8C03FB5D8F00FB512FCA55E317BB067>I<903A
7FC001FFC0B5010F13F8033F13FE4B7F9126C1FE077F9126C3F0037F00039038C7C0016C
D9CF8080150002DE7F02FC81A25CA25CA35CB3A9B6D8C07FEBFFE0A53B317BB044>I<91
3807FF80027F13F80103B6FC010F15C090261FFE017F903A7FF0003FF8D9FFC0EB0FFC48
496D7E4890C76C7E4817804980000F17C048486E13E0A2003F17F049157FA2007F17F8A4
00FF17FCAB007F17F8A36C6CEDFFF0A3001F17E06D5C000F17C06C6C4A13806C17006C6D
495A6C01E0EB1FFC6D6C495A903A3FFE01FFF0010FB612C0010392C7FCD9007F13F80207
138036337DB13D>I<90397FC00FFFB5017F13F002C1B512FC02C714FF9126CFF80F7F91
26FFC00313E0000391C77F6C01FC6E7E4A6E7E5C4A6E7E848319808319C0A47113E0AC4D
13C0A319805FA219004D5A804D5A6E4A5A6E4A5A02FF495BDB80075B9126EFF01F5B02E7
B548C7FC02E314F802E014E0DB0FFEC8FC92CAFCAFB612C0A53B467CB044>I<9039FF80
3FE0B5EBFFF8028113FE02837FDA87E11380EC8F830003D99F0713C06C139E14BCA214F8
A24A6C13806F13004A6C5A93C7FCA45CB3A7B612E0A52A317CB032>114
D<90390FFF8070017FEBF1F048B6FC1207380FFC01391FE0003F4848130F491307127F90
C712035A1501A27FA213E06D90C7FC13FE387FFFF0ECFFC015F06C14FC6C14FF6C15806C
15C06C15E0C615F0013F14F8010714FCEB007F14019138003FFE150F0078140700F81403
A26C1401A37E16FC6C14036D14F87F6DEB07F001F8EB1FE001FFEBFFC091B51280D8FC7F
1400D8F81F13FCD8E00313C027337CB130>I<14F8A61301A41303A21307A2130FA2131F
133F137F13FF1203000F90B512F0B7FCA426007FF8C7FCB3A6167CAA013F14F880A29039
1FFE01F0010F1303903907FF87E06DEBFFC06D14806D6C1300EC0FFC26467EC430>I<D9
7FE0EC3FF0B5EC7FFFA5000315016C81B3AB5EA25EA25E7E6EEB0F7F017F021E7F6E017C
EBFFE090393FFE01F86DB512F0010714E0010114C09027003FFE00EBC0003B327BB044>
I<B66C90B512C0A5000101E0C73807F0006E5D6C5F6E140F017F5E80171F013F93C7FC6E
5C011F153E6E147E6D157C6F13FC6D5DEDC001A26D01E05B16036D5DEDF0076D5DEDF80F
027F5CEDFC1F023F91C8FC15FE5E021F133EEDFF7E6E137C16FC6E5BA26E5BA36E5BA26E
5BA26F5AA26FC9FCA23A317DAF41>I<B60081B500FC90387FFFF0A500019026E0000301
80903803FC006E715A6C6F5E6E6F1303017F61A26E496D1307013F616E6F130F011F4A5E
A26E6F131F6D4A93C7FCDD9FFC5B6DD9801F153E170F03C06E137E6D023F157C93383E07
FFDBE07E15FC6DDA7C035C03F015816D02FC5D4C7E03F815C3DA7FF95E9226FDF00013E7
DA3FFF5E4C137F19FF6E5F4C7FA26E496D90C8FCA26E5E93C7120FA26E486E5AA202015E
4B1403A26E486E5A54317EAF59>I<007FB500C090387FFFE0A5C601F0C73803F8006E5D
017F5E6E1407013F5E6E140F011F5E6E141FA26D6D91C7FC5F6D153E6F137E6D157C6F13
FC6D5DEDF0016D5DEDF803027F5C15FC1607DA3FFE5B160F021F5CEDFF1F6E91C8FC16BF
6E13BE16FE6E5BA36E5BA26E5BA26F5AA26F5AA26F5AA393C9FC5D153E157E157CD81F80
13FC486C5B387FE001D8FFF05B14035D14074A5A49485A007F49CAFCEBC07E383F81FC6C
B45A6C5B6C13C0C648CBFC3B467EAF41>121 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fk cmtt12 14.4 5
/Fk 5 115 df<EC1FF891B57E010314E0010F14F84980017F8090B7FC48D9F80F1380DA
C00113C048496C13E04848C7123F4848EC1FF049140F484815F81607484815FCA2484814
03A24915FEA200FF1501A290B7FCA517FCA290CAFC7FA2127FA27F123F6D15FCA26C6CEC
01FE7F6C6C14036C6C14076DEC0FFC6C6D131F6C01E0EB7FF86C9039FC03FFF06DB612E0
6D15C06D158001071500010114FC6D6C13E0020790C7FC2F3679B43E>101
D<923801FFC0030F13F0033F13FC92B512FE5C4A14FF5C4A1303EC1FF89238F001FEEC3F
E09238C000FC027F14005DAA003FB712F05AB812F8A36C16F0A2C7D87F80C7FCB3B3003F
B7FCA2481680A36C1600A2304A7CC93E>I<DA0FF0EB1FF0DA7FFEEBFFFC49B5008313FE
010714EF4991B6FC5B5B90267FF81F13F19026FFE007EB00FEDA8001147C4890C7EB8000
49147F00038249143FA200078249141FA66D143F00035EA26D147F00015E6D14FF6C6D48
90C7FCECE00790397FF81FFE90B65A5E485D5E01F914802703F87FFEC8FCEC0FF091CAFC
A46C7EA213FF6C90B512F8EEFFC06D15F090B712FC4816FF4817804817C04848C7000F13
E0D81FF09138007FF04848ED1FF84915074848ED03FC90C91201A24817FE481600A56C16
01A26C6CED03FC6D15076C6CED0FF8D81FF8ED3FF001FE15FF6C6C6C010313E06C01FC01
7F13C06C90B71280C6EEFE006D5D011F15F0010715C001004AC7FC020713C038517DB33E
>I<ED07FC3B3FFF803FFF804891B512E0B500C314F802CF8002DF806C90B7FC6CDAF80F
1380D8003FD9C00113C092C713E04A143F4AEC1FF04A15F84A140F4AEC07FCA217034A15
FE1701A318FF83A95F18FEA280170318FC6E140718F86E140FEF1FF06E143F6EEC7FE06E
ECFFC0DBC0031380EDF01F92B6120002DF14FC02CF5C02C35C02C114C0DAC07F90C7FCED
0FF892C9FCB3003FB512C04880B67EA36C5C6C5C384F7FB33E>112
D<EE07FE263FFFF890387FFFC0484AB512E0B5D8FC0714F05D4B14F86C5C6C91387FFC0F
D80003EBFFC002FD90380007F0DAFFFEEB03E003F890C7FC5D5DA25D5DA292C9FCA25CA4
5CB3A3003FB612FC4881B7FCA37E6C5D35347CB33E>114 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fl cmti10 10.95 45
/Fl 45 123 df<D801E013F03907F803FC000F130701FC13FE001F130FA4000F13073903
D801EC390018000CA20138131C01301318017013380160133001E01370491360000114E0
39038001C001001380481303000EEB070048130E485B485B485B4813601F1C70BE2F>34
D<EA01E0EA07F8120F13FC121FA4120FEA03D8EA0018A2133813301370136013E013C012
01EA038013005A120E5A5A5A5A5A0E1C6DBE1C>39 D<387FFFFCA3B5FCA21605799521>
45 D<120FEA3FC0127FA212FFA31380EA7F00123C0A0A77891C>I<131EEB3F80137FEBFF
C05AA214806C13005B133C90C7FCB3120FEA3FC0127FA212FFA35B6CC7FC123C122777A6
1C>58 D<171C173C177CA217FCA216011603A21607A24C7EA2161DA216391679167116E1
A2ED01C1A2ED038115071601150EA2031C7FA24B7EA25D15F05D4A5AA24A5AA24AC7FC5C
140E5C021FB6FC4A81A20270C7127FA25C13015C495AA249C8FCA2130E131E131C133C5B
01F882487ED807FEEC01FFB500E0017FEBFF80A25C39417BC044>65
D<9339FF8001C0030F13E0033F9038F803809239FF807E07913A03FC001F0FDA0FF0EB07
1FDA1FC0ECBF00DA7F806DB4FC4AC77E495AD903F86E5A495A130F4948157E4948157C49
5A13FF91C9FC4848167812035B1207491670120FA2485A95C7FC485AA3127F5BA312FF5B
A490CCFCA2170FA2170EA2171E171C173C173817786C16706D15F04C5A003F5E6D140300
1F4B5A6D4AC8FC000F151E6C6C5C6C6C14F86C6C495A6C6CEB07C090397FC03F8090261F
FFFEC9FC010713F0010013803A4272BF41>67 D<49B812F8A390260003FEC7121F18074B
14031801F000F014075DA3140F5D19E0A2141F4B1338A2EF7801023F027013C04B91C7FC
A217F0027F5CED80011603160F91B65AA3ED001F49EC07805CA3010392C8FC5CF003804C
13070107020E14005C93C75A180E010F161E4A151C183CA2011F5E5C60A2013F15014A4A
5A1707017F150F4D5A4A147F01FF913807FF80B9FCA295C7FC3D3E7BBD3E>69
D<49B812F0A390260003FEC7123F180F4B1403A2F001E014075DA3140F5D19C0A2141F5D
1770EFF003023F02E013804B91C7FCA21601027F5CED8003A2160702FFEB1F8092B5FCA3
49D9003FC8FC4A7F82A20103140E5CA2161E0107141C5CA293C9FC130F5CA3131F5CA313
3F5CA2137FA25C497EB612E0A33C3E7BBD3B>I<9339FF8001C0030F13E0033F9038F803
809239FF807E07913A03FC001F0FDA0FF0EB071FDA1FC0ECBF00DA7F806DB4FC4AC77E49
5AD903F86E5A495A130F4948157E4948157C495A13FF91C9FC4848167812035B12074916
70120FA2485A95C7FC485AA3127F5BA312FF5BA30303B512FC90C7FCA2DB000190C7FCA2
5FA216035FA316076C5E7FA2003F150F6D5D121F6D141F000F153F6C6C4A5A6C6C14F76C
6CEB01E36CB4EB07C1903A7FC03F81C090391FFFFE00010701F890C8FC010013803A4272
BF46>I<49B648B6FC495DA2D9000390C7000313004B5D4B5DA2180714074B5DA2180F14
0F4B5DA2181F141F4B5DA2183F143F4B5DA2187F147F4B5DA218FF91B8FC96C7FCA292C7
12015B4A5DA2170313034A5DA2170713074A5DA2170F130F4A5DA2171F131F4A5DA2173F
133F4A5DA2017F157FA24A5D496C4A7EB66CB67EA3483E7BBD44>I<49B612C0A25FD900
0390C8FC5D5DA314075DA3140F5DA3141F5DA3143F5DA3147F5DA314FF92C9FCA35B5CA3
13035C18C0EF01E0010716C05C17031880130F4A140718005F131F4A141EA2173E013F5D
4A14FC1601017F4A5A16074A131F01FFECFFF0B8FCA25F333E7BBD39>76
D<49B5933807FFFC496062D90003F0FC00505ADBBF805E1A771AEF1407033F923801CFE0
A2F1039F020FEE071F020E606F6C140E1A3F021E161C021C04385BA2F1707F143C023804
E090C7FCF001C0629126780FE0495A02705FF00700F00E0114F002E0031C5BA2F0380301
0116704A6C6C5D18E019070103ED01C00280DA03805BA2943807000F13070200020E5C5F
DB03F8141F495D010E4B5CA24D133F131E011CDAF9C05CEEFB80197F013C6DB4C7FC0138
95C8FC5E01784A5C13F8486C4A5CD807FE4C7EB500F04948B512FE16E01500563E7BBD52
>I<902601FFFE020FB5FC496D5CA2D900016D010013C04AEE3F00193E70141C193CEC07
BFDB3FE01438151F1978020F7FDA0E0F15708219F0EC1E07021C6D5CA203031401023C7F
DA38015DA2701303EC7800027002805BA2047F130702F014C04A013F91C7FCA2715A0101
141F4AECF00EA2040F131E010315F84A151C1607EFFC3C0107140391C7143817FE040113
784915FF010E16708218F0131E011C6F5AA2173F133C01385E171F137813F8486C6F5AEA
07FEB500F01407A295C8FC483E7BBD44>I<EEFFC0030713F892383F80FE9238FC003FDA
03F0EB0F804A486D7EDA1F80804AC76C7E027E6E7E4A81494814004948811307495A4948
157F133F5C49C9FC4917805B1201485AA212075B000F17FFA25B121F190048485DA44848
4B5AA34D5AA25B4D5A12FF60171F60007F163F604D5AA24DC7FC5F003F15014C5A6D5D00
1F4B5A4C5A6C6C4A5A4C5A6C6C4AC8FC000315FC6C6C495A6C6CEB07E0017FEB1F809026
1FC07EC9FC903807FFF801001380394273BF46>I<49B77E18F018FC903B0003FE0003FE
EF00FF4BEC7F80F03FC00207151F19E05DA2020F16F0A25DA2141FF03FE05DA2023F16C0
187F4B1580A2027FEDFF00604B495A4D5A02FF4A5A4D5A92C7EA3FC04CB4C7FC4990B512
FC17E04ACAFCA21303A25CA21307A25CA2130FA25CA2131FA25CA2133FA25CA2137FA25C
497EB67EA33C3E7BBD3E>I<49B612FCEFFF8018F0903B0003FE000FF8EF03FE4BEB00FF
8419800207ED3FC05DA219E0140F5DA3021FED7FC05DA2F0FF80143F4B15004D5A60027F
4A5A4B495A4D5AEF3F8002FF02FEC7FC92380007F892B512E01780499038000FE04A6D7E
707E707E0103814A130083A213075CA25E130F5C5F1603131F5CA3013F020714404A16E0
5F017F160119C04A01031303496C1680B6D8800113079438FE0F009338007E1ECAEA3FFC
EF07F03B407BBD42>82 D<92391FE00380ED7FFC913A01FFFE0700913907F01F8F91390F
C007DF4AC66CB4FC023E6D5A4A130014FC495A4948147CA2495AA2010F15785CA3011F15
70A46E91C7FCA2808014FE90380FFFE015FC6DEBFF8016E06D806D806D6C7F141F02037F
EC003FED07FF1501A281A282A212075A167E120EA2001E15FE5EA25E003E14015E003F14
034B5A486C5C150F6D495A6D49C8FCD8F9F0137C39F8FE01F839F03FFFF0D8E00F13C026
C001FEC9FC314279BF33>I<48B9FCA25A903AFE001FF00101F89138E0007FD807E0163E
49013F141E5B48C75BA2001E147FA2001C4B131C123C003814FFA2007892C7FC12704A15
3C00F01738485CC716001403A25DA21407A25DA2140FA25DA2141FA25DA2143FA25DA214
7FA25DA214FFA292C9FCA25BA25CA21303A25CEB0FFE003FB67E5AA2383D71BC41>I<00
1FB500F090B512F0485DA226003FF0C7380FFC004AEC03F04A5D715A017F1503A24A5DA2
01FF150795C7FC91C8FCA2485E170E5BA20003161E171C5BA20007163C17385BA2000F16
7817705BA2001F16F05F5BA2003F1501A2495DA2007F1503A2495DA2160794C8FC48C8FC
5E160E161E6C151C163C5E5E5E6C6C13014B5A001F4A5A6C6C011FC9FC6D133E6C6C13F8
3903FC07F0C6B512C0013F90CAFCEB07F83C406FBD44>I<277FFFFE01B500FC90B512E0
B5FCA20003902680000790C7380FFC006C90C701FCEC07F049725A04035EA26350C7FCA2
0407150EA2040F5D1A3C041F153862163B6216734F5A6D14E303014B5A6C15C303034BC8
FC1683DB0703140E191E030E151C61031C7F61ED380161157003F04A5A15E002014B5A15
C0DA03804AC9FC60DA0700140E60140E605C029C5D14B8D97FF85D5C715A5C4A5DA24A92
CAFC5F91C7FC705A137E5F137C5F137801705D53406EBD5B>87 D<010C1306011C130E01
78133C01E01370484813E04913C0000313013907000380000EEB0700000C1306001C130E
0018130C0038131C003013180070133800601330A200E0137000CFEB678039FFC07FE0A6
018013C0397F003F80003CEB1E001F1C69BE2F>92 D<147E49B47E903907C1C38090391F
80EFC090383F00FF017E137F4914804848133F485AA248481400120F5B001F5C157E485A
A215FE007F5C90C7FCA21401485C5AA21403EDF0385AA21407EDE078020F1370127C021F
13F0007E013F13E0003E137FECF3E1261F01E313C03A0F8781E3803A03FF00FF00D800FC
133E252977A72E>97 D<EB1FC0EA0FFF5CA2EA003FA291C7FCA25BA2137EA213FEA25BA2
1201A25BA21203A25B147E3907F1FF809038F783E09038EF01F013FE390FF800F8A24913
FC49137C485A157E5B15FE123FA290C7FCA248130115FC127EA2140300FE14F85AA2EC07
F0A215E048130F15C0141F15800078EB3F00127C147E003C5B383E01F8381E03E06C485A
6CB4C7FCEA01F81F4076BE2A>I<EC1FC0ECFFF0903803F03C903807C01E90381F800E90
383F000F017E133F4913FF485A485A000714FE5B000F14FC48481300A2485AA3127F90C8
FCA35A5AA6481403007E1407150F151E003E143C15786C14F0EC03E0390F800F803903E0
7E003801FFF838003FC0202977A72A>I<EE3F80ED1FFF1700A2ED007FA2167EA216FEA2
5EA21501A25EA21503A25EA21507A25E147E903801FF8F903807C1CF90391F80EFC09038
3F00FF017E137F5B48486D5A485AA2485A000F92C7FC5B001F5CA24848137EA215FE127F
90C75AA214015A485CA2140316384814F0A21407167891380FE070127C021F13F0007E01
3F5B003E137FECF3E1261F01E35B3A0F8781E3802703FF00FFC7FCD800FC133E294077BE
2E>I<EC3F80903801FFE0903807E0F890381F803CEB3E0001FC131E485A485A12074848
133E49133C121F4848137C15F8EC03F0397F000FE0ECFF809038FFFC00B512C048C8FCA4
5AA61506150E151E007C143C15786C14F0EC01E06CEB07C0390F801F003807C0FC3801FF
F038007F801F2976A72A>I<167C4BB4FC923807C78092380F83C0ED1F87161FED3F3FA2
157EA21780EE0E004BC7FCA414015DA414035DA30103B512F8A390260007E0C7FCA3140F
5DA5141F5DA4143F92C8FCA45C147EA414FE5CA413015CA4495AA4495AA4495A121E127F
5C12FF49C9FCA2EAFE1EEAF83C1270EA7878EA3FE0EA0F802A5383BF1C>I<EC03F0EC0F
FC91383E0E1C9138FC077E903901F003FE1303903807E001D90FC013FCEB1F80A2EB3F00
4914F8137E01FE1303A2484814F0A2150712034914E0A2150F12074914C0A2151FA21680
5B153F1203ED7F006D5BA200015B0000495A9038F80F7E90387C1EFEEB1FF8903807E0FC
90C7FC1401A25DA21403A25D001C1307007F5C48130F5D4A5A4AC7FC48137E00F85B387C
03F0381FFFC0D803FEC8FC273B7CA72A>I<EB01FC13FF5CA21303A25CA21307A25CA213
0FA25CA2131FA25CA2133FA291C8FCEC03F890387F0FFE91383E0F80D97E7813C0ECE007
D9FFC013E014801400A2485A5BA25B0003140F16C05BA20007141F16805BA2000F143F16
005B5D001F147EEDFE074913FCA2003F0101130FEDF80E1300161E48ECF01CA2007E1538
A200FE1570020013E048EC7FC00038EC1F0028407ABE2E>I<1478EB01FCA21303A314F8
EB00E01400AD137C48B4FC38038F80EA0707000E13C0121E121CEA3C0F1238A2EA781F00
701380A2EAF03F140012005B137E13FE5BA212015BA212035B1438120713E0000F1378EB
C070A214F0EB80E0A2EB81C01383148038078700EA03FEEA00F8163E79BC1C>I<EB01FC
13FF5CA21303A25CA21307A25CA2130FA25CA2131FA25CA2133FA291C8FCED03E049EB0F
F8ED3C3C017EEB707CEDE1FC9038FE01C1EC03839038FC0703140E0001011C13F8913838
00E0494813001460000313E0EBF9C0EBF78001FEC8FC1207EBFFE0EBE7F8EBE0FE000F13
7F6E7EEBC01F81001F130F16701380A2003F15F0021F13E001001380A248148116C0007E
EB0F83168000FE14879138078F0048EB03FE0038EB00F826407ABE2A>107
D<EB07F0EA03FF14E0A2EA000FA214C0A2131FA21480A2133FA21400A25BA2137EA213FE
A25BA21201A25BA21203A25BA21207A25BA2120FA25BA2121FA25BA2123FA290C7FCA25A
1307127EA2EAFE0F130E12FCA2131E131CA2EA7C381378EA3C70EA1FE0EA0780144079BE
17>I<D801F0D93F80137F3D07FC01FFE003FFC03D0F3E07C1F80F83F03D0E1F0F00FC1E
01F8001E011C90387C3800001C49D97E707F003C01F05C0038157F4A5C26783FC05C1270
4A91C7FC91C7127E00F003FE1301494A5CEA007EA20301140301FE5F495CA20303140700
0160495C180F03075D0003051F13E0494A1480A2030FEC3F810007F001C0495CA2031F91
383E0380120F494AEC0700A2033F150E001FEF1E1C4991C7EA0FF80007C7000EEC03E043
2979A74A>I<D801F0EB3F803A07FC01FFE03A0F3E07C1F83A0E1F0F00FC001E011C137C
001C49137E003C13F012385C38783FC012705C91C7FC00F015FE495CEA007EA2150101FE
5C5BA2150300015D5B15075E0003020F13704914C0A2031F13F00007ED80E05B1681EE01
C0120F49EC0380A2EE0700001FEC0F0E49EB07FC0007C7EA01F02C2979A733>I<EC1FC0
ECFFF8903803F07C90380FC01FEB1F8090393F000F80017E14C0491307484814E0485A12
075B000F15F0485AA2485AA2ED0FE0127F90C7FCA2151F4815C05AA2ED3F80A2ED7F00A2
48147E007C5C007E13015D4A5A003E495A6C495A4A5A260F803EC7FC3807C0FC3801FFF0
38003F80242977A72E>I<903903E001F890390FF807FE903A1E7C1E0F80903A1C3E3C07
C0013C137801389038E003E0EB783F017001C013F0ED80019038F07F0001E015F8147E16
03000113FEA2C75AA20101140717F05CA20103140F17E05CA20107EC1FC0A24A1480163F
010F15005E167E5E131F4B5A6E485A4B5A90393FB80F80DA9C1FC7FCEC0FFCEC03E049C9
FCA2137EA213FEA25BA21201A25BA21203A2387FFFE0B5FCA22D3A80A72E>I<D801F013
FC3A07FC07FF803A0F3E0F03C0260E1F1C13E0001EEB380F001C1370003CEBE01F123814
C0D8783F14C00070903880070092C7FC91C8FC12F05BEA007EA313FE5BA312015BA31203
5BA312075BA3120F5BA3121F5B0007C9FC232979A726>114 D<EC7F80903801FFE09038
07C0F890381F003C013E131C013C131E017C133E49137E15FEA2000114FCA215706D1300
7FEBFFC014FC6C13FF15806D13C06D13E0010F13F01300140F14071403120C123F387F80
011403D8FF0013E0A300FCEB07C000F0EB0F8012700078EB1F006C133C381F01F83807FF
E0C690C7FC1F297AA725>I<EB01C0EB03F01307A25CA2130FA25CA2131FA25CA2133FA2
91C7FCA2007FB51280B6FC1500D8007EC7FC13FEA25BA21201A25BA21203A25BA21207A2
5BA2120FA25BA2121F141C1380A2003F133C1438EB0078147014F05C495AEA1F03495A6C
48C7FCEA07FCEA01F0193A78B81E>I<137C48B4141C26038F80137EEA0707000E7F001E
15FE121CD83C0F5C12381501EA781F007001805BA2D8F03F1303140000005D5B017E1307
A201FE5C5B150F1201495CA2151F0003EDC1C0491481A2153F1683EE0380A2ED7F070001
02FF13005C01F8EBDF0F00009038079F0E90397C0F0F1C90391FFC07F8903907F001F02A
2979A731>I<017CEB01C048B4EB07F038038F80EA0707000E01C013F8121E001C1403EA
3C0F0038EC01F0A2D8781F130000705BA2EAF03F91C712E012005B017E130116C013FE5B
1503000115805BA2ED07001203495B150EA25DA25D1578000114706D5B0000495A6D485A
D97E0FC7FCEB1FFEEB03F0252979A72A>I<903903F001F890390FFC07FE90393C1E0E0F
9026780F1C138001F0EBB83FD801E013F89039C007F07FEA0380000714E0D9000F140048
151C000E4AC7FCA2001E131FA2C75BA2143F92C8FCA35C147EA314FE4A131CA30101143C
001E1538003F491378D87F811470018314F000FF5D9039077801C039FE0F7C033A7C0E3C
078027783C1E1EC7FC391FF80FFC3907E003F029297CA72A>120
D<137C48B4143826038F8013FCEA0707000E7F001E1401001C15F8EA3C0F12381503D878
1F14F000701380A2D8F03F1307020013E012005B017E130F16C013FE5B151F1201491480
A2153F000315005BA25D157EA315FE5D00011301EBF8030000130790387C1FF8EB3FF9EB
07E1EB00035DA21407000E5CEA3F80007F495AA24A5AD8FF0090C7FC143E007C137E0070
5B387801F0383803E0381E0FC06CB4C8FCEA03F8263B79A72C>I<D901F01370D907FC13
F0010F14E090381FFE0190393FFF03C049EB838090387C0FCF9039F803FF009038F0007E
49133C000114386C48137890C75A4A5A4A5A4A5A4AC7FC141E5C5C5C495A495A495A49C8
FC131E4913075B5B48485B4848131E485A01F05BD80FFE137C391F1F81F8383E0FFFD83C
075B486C5B00705CD8F00190C7FC38E0007C24297BA725>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fm cmtt12 17.28 5
/Fm 5 115 df<ED7FF00203B5FC021F14E0027F14F849B67E4915FF010F824982498249
EBC01F9027FFFE00037F4801F801007F48496E7E02C0143F48496E7E4890C8120F491507
001F8349815B003F18804981A2127F4917C08312FF90B9FCA71980190001C0CBFC7F127F
A37F123F7FA26C6C163F6DEE7F806C6CEEFFC0A26C6D5C14E06C6D4A13806C01FC5C6C6D
021F130090267FFFC05B6D9039F801FFFE6D90B65A6D5E6D5E6D5E01005E023F92C7FC02
0F14FC020114E09126001FFEC8FC3A4179BF4A>101 D<4CB47E041F13F093B512FC0303
80030F805D4B15805D92B7FC4AEBFC074A13F0DCC00313004A13804C6C5A4A48EB007895
C7FC5DAB003FB812F04883B97EA56C5F6C5FC7D80FFCC9FCB3B3A8001FB712FE48824883
A56C94C7FC6C5E39597BD84A>I<F00FF8912601FFC0EB7FFE020FD9F803B51280023FEB
FE0F91B6009F14C0010392B612E05B5B5B4916F84901809138C07FC09126FE003F1300D9
FFF8010F9038803F804A6DEC040048496D6DC7FC4A7F48496D7FA291C8127F4883A24915
3FA66D157FA26C5F6E14FFA26C6D495B6E5B6C6D495B6E5BD97FFE013F90C8FC6E6CB5FC
92B55A90B75A5F5F485E1780D9FE3F49C9FC020F13F8020113C091CCFCA47FA26C7F14E4
6DB612E017FF6D16F04916FC90B9FC000318C08548844801C0C7003F7F4848C812014992
38003FFCD83FF0EE0FFE4916074848707E84498200FF1980A290CB127FA56D17FFA26D5E
007F19006D5ED83FF8EE0FFE6D161F6CB4EE7FFC6C01C04A485A6C01F8020F5B9126FFC0
01B5FC000191B712C06C606D94C7FC011F16FC6D5E010316E0D9007F92C8FC020F14F8DA
007F90C9FC43627CBF4A>I<EE0FFC263FFFF090B57E48D9F80714E0DAFC1F14F8B54914
FE92B7FC02FD826C90B87E856CDBE01F7FD8000FEC000703FC01017F4B6D7F03E0143F4B
6E7E4B140F8592C87E4A6F1380A34A6F13C0A284A21AE0A2197FAA19FFA21AC0A26E5DA2
4E138080606F1600606F4A5A6F143F6F4A5A6F4A5A6F130303FF010F5BDCC03F5B93B65A
6102FD93C7FC02FC5D6F5C031F14F0030714C0030191C8FC9238003FF093CAFCB3A4003F
B6FC4881A2B77EA36C5DA26C92CAFC435F7FBE4A>112 D<EF0FFE003FB591B512C048DA
800314F0B6D8C00F14F8043F14FC93B6FC03C115FE15C36C14C76C02CFEBF80FC701DF13
C092B5380007FC04FCEB03F84CEB01F004E090C7FC5E5E93C9FC5DA25DA25DA25DA25DA4
5DB3A6003FB712F84882B8FC83A35F7E6C5E3F3F7BBE4A>114 D
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fn cmtt10 10.95 86
/Fn 86 127 df<00101304007C131F00FEEB3F80A26C137FA248133FB2007E1400007C7F
003C131E00101304191C75B830>34 D<903907C007C0A2496C487EA8011F131FA202C05B
A3007FB7FCA2B81280A36C16006C5D3A007F807F80A2020090C7FCA9495BA2003F90B512
FE4881B81280A36C1600A22701FC01FCC7FCA300031303A201F85BA76C486C5AA229387D
B730>I<1438147C14FCA4EB03FF011F13E090B512FC4880000780481580261FFEFD13C0
9039F0FC3FE0D83FC0131FD87F80EB0FF001001307007E15F800FE14035A1507A36CEC03
F0A2007F91C7FC138013C0EA3FF0EA1FFE13FF6C13FF6C14E0000114F86C6C7F011F7F01
037F0100148002FD13C09138FC7FE0151FED0FF015070018EC03F8127E1501B4FCA35AA2
6CEC03F07E01801307ED0FE0D83FC0131F01F0EB7FC0D81FFEB512806CB612006C5C6C5C
C614F0013F13C0D907FEC7FCEB00FCA5147C143825477BBE30>I<D803C0EB01E0D80FF0
1303486C497E487E150F487ED87E7E495AEAFE7F5E486C133FA25E157FA24BC7FC6C5A5D
387E7E01EA7FFED83FFC5B1403EA1FF86C48485AEA03C0C75B140FA25D141FA24A5AA25D
147FA292C8FC5CA2495AA25C1303A25C1307A290390FF001E0ED07F84A487E011F497EA2
4A487E133F163F90267F807F1380ED7E1F14005BA25B1201A24848EB7F3F033F13004914
FF12076F5A5B6F5A6C486D5A0001EC01E029477DBE30>I<EB07E0EB1FF8497E137F497E
803801FC7F497E810003131F13F0A6143F92C8FC91387F0FFF9026F87E1F1380000113FE
EBF9FC13FB4A6C1300D9FFF013C06C13E0151F02C05BEB7F809038FF003F4892C7FC485C
48EB807E5A15FE391FDFC0FC383F8FE014E1397F07F1F8EB03F300FEEBFBF0EB01FF5D7F
EDC006027F130F91393F801F8015C06C137F6CEBFFE049EBF83F018701FC1300263FFFFB
B5FC6C01F15B14E06C9038C03FFC00039038001FF8D801FCEB07E0293A7DB830>I<EA07
C0EA0FF0EA1FF8A213FCA213FE120F1207EA007EA513FE13FCA2120113F81203EA07F012
0FEA1FE0127FEAFFC013801300127C12380F1D70B730>I<141E147F14FF5BEB03FEEB07
FCEB0FF0EB1FE0EB3FC0EB7F80EBFF00485A5B12035B485A120F5BA2485AA2123F5BA212
7F90C7FCA412FEAD127FA47F123FA27F121FA26C7EA27F12076C7E7F12017F6C7EEB7F80
EB3FC0EB1FE0EB0FF0EB07FCEB03FEEB01FF7F147F141E184771BE30>I<127812FE7E7F
6C7E6C7EEA0FF06C7E6C7E6C7E6C7EEB7F80133F14C0131FEB0FE014F01307A2EB03F8A2
14FC1301A214FE1300A4147FAD14FEA4130114FCA2130314F8A2EB07F0A2130F14E0EB1F
C0133F1480137FEBFF00485A485A485A485AEA3FE0485A485A90C7FC5A1278184778BE30
>I<14E0497E497EA60038EC0380007EEC0FC0D8FF83EB3FE001C3137F9038F3F9FF267F
FBFB13C06CB61280000FECFE00000314F86C5C6C6C13C0011F90C7FC017F13C048B512F0
4880000F14FE003FECFF80267FFBFB13C026FFF3F913E09038C3F87F0183133FD87E03EB
0FC00038EC0380000091C7FCA66D5A6D5A23277AAE30>I<143EA2147FAF007FB7FCA2B8
1280A36C1600A2C76CC8FCAF143EA229297DAF30>I<EA03E0EA0FF0EA1FF813FCEA3FFE
A213FFA27EA27E1203EA007FA2137E13FEEA01FC1203EA07F8EA3FF0127FEAFFE0EA7F80
1300123C1019708B30>I<007FB612F0A2B712F8A36C15F0A225077B9E30>I<120FEA3FC0
EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F000C0C6E8B30>I<16F01501ED03F8A21507A2
ED0FF0A2ED1FE0A2ED3FC0A2ED7F80A2EDFF00A24A5AA25D1403A24A5AA24A5AA24A5AA2
4A5AA24A5AA24AC7FCA2495AA25C1303A2495AA2495AA2495AA2495AA2495AA249C8FCA2
485AA25B1203A2485AA2485AA2485AA2485AA2485AA248C9FCA25AA2127CA225477BBE30
>I<14FE903807FFC0497F013F13F8497F90B57E48EB83FF4848C6138049137F4848EB3F
C04848EB1FE049130F001F15F0491307A24848EB03F8A290C712014815FCA400FEEC00FE
AD6C14016C15FCA36D1303003F15F8A26D1307001F15F0A26D130F6C6CEB1FE0A26C6CEB
3FC06C6CEB7F806D13FF2601FF8313006CEBFFFE6D5B6D5B010F13E06D5BD900FEC7FC27
3A7CB830>I<EB03C0497EA2130FA2131FA2133F137F13FF1203123FB5FCA213EF138FEA
7E0F1200B3B0003FB512F84814FCB612FEA26C14FC6C14F81F3977B830>I<EB07FC9038
3FFFC090B512F00003804814FE4880261FF80F1380263FE00113C09038C0007F4848EB3F
E090C7121FED0FF04814075A6C15F81503A3127E1218C8FCA2150716F0150F16E0151F16
C0153FED7F8015FF4A13005DEC07FC4A5A4A5A4A5A4A5A4A5A4990C7FC495A495AEB0FF0
EB3FE0495A495A4890C8FC4848EB01F04848EB03F8485AEA1FE048B6FCB7FCA37E6C15F0
25397BB830>I<EB03FF013F13E090B512F84814FE4880481580260FFE0113C09038F000
7F4848EB1FE0150F16F01507A26C5A6C5AC8FC150F16E0A2151FED3FC0157FEDFF800207
1300903807FFFE495B5D8115FF6D1480D9000113C09138003FE0ED1FF0ED07F8150316FC
150116FE1500A21218127EB4FCA2150116FC4814036C15F86C6C13076DEB1FF0D83FF013
3F3A1FFE01FFE06CB612C06C15806CECFE00C65C013F13F001031380273A7CB830>I<EC
03FC4A7E140F141FA2143F147F157E14FEA2EB01FCEB03F8A2EB07F0A2EB0FE0EB1FC0A2
EB3F80A2EB7F0013FEA2485A485AA2485AA2485A485AA2485AA248C7FC12FEB8FC1780A4
6C1600C8007EC7FCAA91387FFFFE91B6FCA46E5B29397DB830>I<000FB612804815C05A
A316800180C8FCAEEB83FF019F13C090B512F015FC8181D9FE0313809039F0007FC04913
3F0180EB1FE06CC7120F000E15F0C81207A216F81503A31218127EA2B4FC150716F04814
0F6C15E06C141F6DEB3FC06D137F3A3FE001FF80261FFC0F13006CB55A6C5C6C5C6C14E0
6C6C1380D90FFCC7FC25397BB730>I<EC0FF8EC7FFF49B51280010714E0131F4914F090
387FF80F9039FFC007F84813803803FE005B485A4848EB03F0ED01E0484890C7FC5B123F
5BA2127FEB000C903803FFE0010F13F8D8FF3F13FE48B6FCB7128016C09039FE007FE001
F8EB1FF001E0130F49EB07F849EB03FCA290C7120116FE1500A37EA46C7E15016D14FC12
1F6D1303000FEC07F86D130F6C6CEB1FF06DEB3FE03A03FF81FFC06C90B512806C15006D
5B011F13F8010713E001011380273A7CB830>I<127CB712FC16FEA416FC48C7EA0FF816
F0ED1FE0007CEC3FC0C8EA7F80EDFF00A24A5A4A5A5D14075D140F5D4A5AA24A5AA24AC7
FCA25C5C13015CA213035CA213075CA4495AA6131F5CA96D5A6DC8FC273A7CB830>I<49
B4FC011F13F0017F13FC90B57E0003ECFF804815C048010113E03A1FF8003FF049131FD8
3FC0EB07F8A24848EB03FC90C71201A56D1303003F15F86D13076C6CEB0FF06C6CEB1FE0
D807FCEB7FC03A03FF83FF806C90B512006C6C13FC011F13F0497F90B512FE48802607FE
0013C0D80FF8EB3FE0D81FE0EB0FF04848EB07F8491303007F15FC90C712014815FE4814
00A66C14016C15FC6D1303003F15F86D1307D81FF0EB1FF06D133F3A0FFF01FFE06C90B5
12C06C1580C6ECFE006D5B011F13F0010190C7FC273A7CB830>I<49B4FC010F13E0013F
13F890B57E4880488048010113803A0FFC007FC0D81FF0EB3FE04848131F49EB0FF04848
1307A290C7EA03F85A4815FC1501A416FEA37E7E6D1303A26C6C13076C6C130F6D133FD8
0FFC13FF6CB6FC7E6C14FE6C14F9013FEBE1FC010F138190380060011400ED03F8A21507
16F0150F000F15E0486C131F486CEB3FC0157FEDFF804A1300EC07FE391FF01FFC90B55A
6C5C6C5C6C1480C649C7FCEB3FF0273A7CB830>I<120FEA3FC0EA7FE0A2EAFFF0A4EA7F
E0A2EA3FC0EA0F00C7FCAF120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F000C27
6EA630>I<EA03C0EA0FF0EA1FF8A2EA3FFCA4EA1FF8A2EA0FF0EA03C0C7FCAFEA03C0EA
0FF0121F13F8123F13FCA3121FA2120F12031200120113F8120313F01207EA1FE0123FEA
7FC0EAFF80EA7F00127E12380E3470A630>I<16F01503ED07F8151F157FEDFFF014034A
13C0021F138091383FFE00ECFFF8495B010713C0495BD93FFEC7FC495A3801FFF0485B00
0F13804890C8FCEA7FFC5BEAFFE05B7FEA7FF87FEA1FFF6C7F000313E06C7F38007FFC6D
7E90380FFF806D7F010113F06D7FEC3FFE91381FFF80020713C06E13F01400ED7FF8151F
1507ED03F01500252F7BB230>I<007FB7FCA2B81280A36C16006C5DCBFCA7003FB612FE
4881B81280A36C1600A229157DA530>I<1278127EB4FC13C07FEA7FF813FEEA1FFF6C13
C000037F6C13F86C6C7EEB1FFF6D7F010313E06D7F9038007FFC6E7E91380FFF806E13C0
020113F080ED3FF8151F153FEDFFF05C020713C04A138091383FFE004A5A903801FFF049
5B010F13804990C7FCEB7FFC48485A4813E0000F5B4890C8FCEA7FFE13F8EAFFE05B90C9
FC127E1278252F7BB230>I<EC1FE0ECFFF8010313FE010F7F4914804914C090397FF03F
E09038FF800F4890380007F0D803FC13033A07F801FBF89038F007FF380FE01F4A13FCEA
1FC0495A003FEBFF0F903800FE07903901FC03FE007FEBF801EA7E03ECF000A2EAFE0700
FC49137EAA00FE6D13FED87E0314FCA2ECF801D87F0114F8003FEBFC03903900FE07F090
3880FF0F001F90387FFFE06D6C13C0EA0FE06E13803A07F007FE009038F801F86C6CC712
7C6CB414FE6CEB800390387FF01F6DB512FC6D14F86D14E0010314C00100EBFE00EC1FF0
273A7CB830>64 D<147F4A7EA2497FA4497F14F7A401077F14E3A3010F7FA314C1A2011F
7FA490383F80FEA590387F007FA4498049133F90B6FCA34881A39038FC001F0003814913
0FA4000781491307A2D87FFFEB7FFFB56CB51280A46C496C130029397DB830>I<007FB5
12F0B612FE6F7E82826C813A03F8001FF815076F7E1501A26F7EA615015EA24B5A1507ED
1FF0ED7FE090B65A5E4BC7FC6F7E16E0829039F8000FF8ED03FC6F7E1500167FA3EE3F80
A6167F1700A25E4B5A1503ED1FFC007FB6FCB75A5E16C05E6C02FCC7FC29387EB730>I<
91387F803C903903FFF03E49EBFC7E011F13FE49EBFFFE5B9038FFE07F48EB801F3903FE
000F484813075B48481303A2484813015B123F491300A2127F90C8FC167C16005A5AAC7E
7EA2167C6D14FE123FA27F121F6D13016C6C14FCA26C6CEB03F86D13076C6CEB0FF03901
FF801F6C9038E07FE06DB512C06D14806D1400010713FC6D13F09038007FC0273A7CB830
>I<003FB512E04814FCB67E6F7E6C816C813A03F8007FF0ED1FF8150F6F7E6F7E15016F
7EA2EE7F80A2163F17C0161FA4EE0FE0AC161F17C0A3163F1780A2167F17005E4B5A1503
4B5A150F4B5AED7FF0003FB65A485DB75A93C7FC6C14FC6C14E02B387FB730>I<007FB7
FCB81280A47ED803F8C7123FA8EE1F0093C7FCA4157C15FEA490B5FCA6EBF800A4157C92
C8FCA5EE07C0EE0FE0A9007FB7FCB8FCA46C16C02B387EB730>I<003FB712804816C0B8
FCA27E7ED801FCC7121FA8EE0F8093C7FCA5153E157FA490B6FCA69038FC007FA4153E92
C8FCAE383FFFF8487FB5FCA27E6C5B2A387EB730>I<02FF13F00103EBC0F8010F13F101
3F13FD4913FF90B6FC4813C1EC007F4848133F4848131F49130F485A491307121F5B123F
491303A2127F90C7FC6F5A92C8FC5A5AA892B5FC4A14805CA26C7F6C6D1400ED03F8A27F
003F1407A27F121F6D130F120F7F6C6C131FA2D803FE133F6C6C137FECC1FF6C90B5FC7F
6D13FB010F13F30103EBC1F0010090C8FC293A7DB830>I<3B3FFF800FFFE0486D4813F0
B56C4813F8A26C496C13F06C496C13E0D803F8C7EAFE00B290B6FCA601F8C7FCB3A23B3F
FF800FFFE0486D4813F0B56C4813F8A26C496C13F06C496C13E02D387FB730>I<007FB6
FCB71280A46C1500260007F0C7FCB3B3A8007FB6FCB71280A46C1500213879B730>I<49
B512F04914F85BA27F6D14F090C7EAFE00B3B3123C127EB4FCA24A5A1403EB8007397FF0
1FF86CB55A5D6C5C00075C000149C7FC38003FF025397AB730>I<D83FFF90380FFF8048
6D4813C0B56C5AA26C497E6C496C1380D803F0903803F8004B5A4B5A151F4B5A5E4BC7FC
15FE14014A5A5D4A5A4A5A141F5D4A5A4AC8FC5C13F18101F37F13F790B57E14EFECC7F0
1483EC03F8140101FE7F496C7E5B157F497F82151F82150F826F7EA26F7E1501821500D8
3FFF903803FFC0486D4813E0B56C5AA26C497E6C496C13C02B387FB730>I<383FFFF848
7FB57EA26C5B6C5BD801FCC9FCB3B0EE0F80EE1FC0A9003FB7FC5AB8FCA27E6C16802A38
7EB730>I<D83FF8ECFFE0486C4913F0486C4913F8A2007F16F06C6C4913E00007160001
EF14BFEC800FA39039E7C01F3FA4ECE03F01E3133EA2ECF07EA201E1137CA2ECF8FCA201
E013F8A214FDEC7DF0A3147FEC3FE0A3EC1FC0A2EC070091C7FCADD83FFC903801FFE048
6C4913F0B54913F8A26C486D13F06C486D13E02D387FB730>I<D83FFC90381FFF80486C
4913C0B54913E0A26C6D6C13C06C6E13800003913801F800EBF7C0A3EBF3E0A314F013F1
A214F8A213F014FCA2147C147EA2143E143FA2141FA21581A2140F15C1A2140715E1A214
0315F1A21401A215F91400A3157DA3153FEA3FFF481380B5EAC01FA26CEB800F6C496C5A
2B387EB730>I<90383FFFE048B512FC000714FF4815804815C04815E0EBF80001E0133F
D87F80EB0FF0A290C71207A44815F8481403B3A96C1407A26C15F0A36D130FA26D131F6C
6CEB3FE001F813FF90B6FC6C15C06C15806C1500000114FCD8003F13E0253A7BB830>I<
007FB512F0B612FE6F7E16E0826C813903F8003FED0FFCED03FE15016F7EA2821780163F
A6167F17005EA24B5A1503ED0FFCED3FF890B6FC5E5E16804BC7FC15F001F8C9FCB0387F
FFC0B57EA46C5B29387EB730>I<90383FFFE048B512FC000714FF4815804815C04815E0
EBF80001E0133F4848EB1FF049130F90C71207A44815F8481403B3A8147E14FE6CEBFF07
6C15F0EC7F87A2EC3FC7018013CF9038C01FFFD83FE014E0EBF80F90B6FC6C15C06C1580
6C1500000114FCD8003F7FEB00016E7EA21680157F16C0153F16E0151F16F0150FED07E0
25467BB830>I<003FB57E4814F0B612FC15FF6C816C812603F8017F9138003FF0151F6F
7E15071503821501A515035E1507150F4B5A153F4AB45A90B65A5E93C7FC5D8182D9F800
7FED3FE0151F150F821507A817F8EEF1FCA53A3FFF8003FB4801C0EBFFF8B56C7E17F06C
496C13E06C49EB7FC0C9EA1F002E397FB730>I<90390FF803C0D97FFF13E048B512C748
14F74814FF5A381FF80F383FE001497E4848137F90C7123F5A48141FA2150FA37EED07C0
6C91C7FC7F7FEA3FF0EA1FFEEBFFF06C13FF6C14E0000114F86C80011F13FF01031480D9
003F13C014019138007FE0151FED0FF0A2ED07F8A2007C140312FEA56C140716F07F6DEB
0FE06D131F01F8EB3FC001FF13FF91B51280160000FD5CD8FC7F13F8D8F81F5BD8780113
80253A7BB830>I<003FB712C04816E0B8FCA43AFE003F800FA8007CED07C0C791C7FCB3
B1011FB5FC4980A46D91C7FC2B387EB730>I<3B7FFFC007FFFCB56C4813FEA46C496C13
FCD803F8C7EA3F80B3B16D147F00011600A36C6C14FE6D13016D5CEC800390393FE00FF8
90391FF83FF06DB55A6D5C6D5C6D91C7FC9038007FFCEC1FF02F3980B730>I<D87FFE90
380FFFC0B54913E06E5AA24A7E6C486D13C0D807F0903801FC00A26D130300035DA46C6C
495AA46C6C495AA46D131F6D5CA3EC803F013F5CA46D6C48C7FCA490380FE0FEA401075B
14F1A301035BA314FB01015BA314FFA26D5BA46E5A6E5A2B397EB730>I<D83FFC903801
FFE0486C4913F000FF16F8A2007F16F06C486D13E0D81FC09038001FC0000F1680A76D14
3F00071600A7000390380F803E9039F01FC07EEC3FE0A3EC7FF0A2147D0001157CA29039
F8FDF8FCA314F8A300005D01F913FCA2ECF07CA201FD137DA2017D5CECE03DA3017F133F
A2ECC01FA2013F5CA2EC800F6D486C5A2D397FB730>I<D87FFF90381FFFC0B56C4813E0
A46C496C13C0D803F8903803F8006D1307A26C6C495AA26C6C5C151F6D5CEC803F013F5C
ECC07F011F91C7FCA290380FE0FEA214F101075BA2903803FBF8A201015B14FF6D5BA26E
5AA36E5AB1903803FFF8497F497FA26D5B6D5B2B387EB730>89 D<001FB612FC4815FE5A
A490C7EA03FCED07F816F0150FED1FE016C0153FED7F80003E1500C85A4A5A5D14034A5A
5D140F4A5A5D143F4A5A92C7FC5C495A5C1303495A5C130F495A5C133F495A91C8FC5B48
48147C4914FE1203485A5B120F485A5B123F485A90B6FCB7FCA46C15FC27387CB730>I<
127CA212FEA27EA26C7EA26C7EA26C7EA26C7EA26C7EA26C7EA212017FA26C7EA26D7EA2
6D7EA26D7EA26D7EA26D7EA26D7EA2130180A26D7EA26E7EA26E7EA26E7EA26E7EA26E7E
A26E7EA2140181A26E7EA2ED7F80A2ED3FC0A2ED1FE0A2ED0FF0A2ED07F8A21503A2ED01
F0150025477BBE30>92 D<007FB612F0A2B712F8A36C15F0A225077B7D30>95
D<1338137CEA01FE12031207EA0FFC13F0EA1FE013C0EA3F8013005A127EA212FE5AA5EA
FFC013E013F0127FA2123FA2EA1FE0EA07C00F1D70BE30>I<EB7FF80003B5FC4814C048
80488048809038E01FFC9038C003FE14016E7E6C487F6CC77FC8123FA491B5FC130F137F
48B6FC12075A48EB803F383FF800EA7FE0138048C7FC5AA4157F7E6C6C13FFEBC003263F
F01FEBFF8090B712C07E6C14EF000314876CD9FE01138026003FE0C8FC2A2A7BA830>I<
EA3FFC487E12FFA2127F123F1200AAEC03FE91381FFF80027F13E091B57E90B612FC82EC
FE079138F001FF4A6C13804A137F4AEB3FC091C7121F17E049140FA217F01607A8160FA2
17E07F161F6EEB3FC0A26EEB7F806E13FFDAF00313009138FC0FFE91B55A5E495CD97E7F
13C0D93C1F90C7FC90380003FC2C3980B730>I<ECFFE0010713FC011F7F017F7F90B612
804815C048EB807F3907FC003F485A485A49EB1F804848EB0F004990C7FC127F90C9FCA2
5A5AA87E7EA27F003FEC07C06DEB0FE06C7E6D131F6C6C14C0D807FE133F9039FFC0FF80
6C90B5FCC615006D5B011F13F801075B01011380232A7AA830>I<913801FFE04A7F5CA2
8080EC0007AAEB03FE90381FFF874913E790B6FC5A5A481303380FFC00D81FF0133F4913
1F485A150F4848130790C7FCA25AA25AA87E6C140FA27F003F141F6D133F6C7E6D137F39
0FF801FF2607FE07EBFFC06CB712E06C16F06C14F76D01C713E0011F010313C0D907FCC8
FC2C397DB730>I<49B4FC010713E0011F13F8017F7F90B57E488048018113803A07FC00
7FC04848133FD81FE0EB1FE0150F484814F0491307127F90C7FCED03F85A5AB7FCA516F0
48C9FC7E7EA27F003FEC01F06DEB03F86C7E6C7E6D1307D807FEEB1FF03A03FFC07FE06C
90B5FC6C15C0013F14806DEBFE00010713F8010013C0252A7CA830>I<EDFF80020713E0
021F13F05C4A13F891B5FC491387903803FE079138FC03F0903907F800C04A1300A8003F
B612C04815E0B7FCA36C15C0260007F0C7FCB3A9003FB512FE4880B71280A26C15006C5C
25397DB830>I<D903FC13FF90261FFF8713C04913DF90B712E05A5A2607FE07138F903A
F801FE07C048486C6CC7FCA2497F001F8149133FA56D137F000F92C7FC6D5BA26C6C485A
EBFE0790B55A5D485C15C001DF5BD9C3FCC8FC01C0C9FCA37F7F6CB512F015FF6C15C048
15F0488148813A3FE0001FFE0180130148C8127F007E8100FE168048151FA56C153F007F
ED7F006D5C6C6C495A01F013076CB4EB7FFC6C90B55A6C5D000115C06C6C91C7FC011F13
FC010113C02B3E7DA730>I<EA3FFC487E12FFA2127F123F1200AAEC01FE91380FFF8002
3F13E091B57E90B67EA29138FE07FCECF8039138E001FE14C0EC8000A291C7FCA25BB3A2
3B3FFFF81FFFF8486D4813FCB500FE14FEA26C01FC14FC6C496C13F82F3880B730>I<14
E0EB03F8A2497EA36D5AA2EB00E091C8FCA9381FFFF8487F5AA27E7EEA0001B3A9003FB6
12C04815E0B7FCA27E6C15C023397AB830>I<EC01C0EC07F0A2EC0FF8A3EC07F0A2EC01
C091C7FCA990B512F04814F8A47EEB0003B3B3A5EC07F0A2123C007EEB0FE0B4131FEC3F
C0147F90B512806C14005C6C5B000F13F0000313C01D4E7CB830>I<EA7FF8487EA4127F
1200AB0203B512804A14C017E0A217C06E14809139001FE0004B5A4B5A4BC7FC4A5A4A5A
EC0FF84A5A4A5A4A5A4A5A01FD7F90B57E8114F7ECE3F8ECC1FCEC81FEEC00FF497F496D
7E6F7E826F7E15076F7E6F7E3B7FFFF81FFFE0B56C4813F017F8A217F06C496C13E02D38
7FB730>I<387FFFF8B57EA47EEA0001B3B3A8007FB612F0B712F8A46C15F025387BB730>
I<02FC137E3B7FC3FF01FF80D8FFEF01877F90B500CF7F15DF92B57E6C010F13872607FE
07EB03F801FC13FE9039F803FC01A201F013F8A301E013F0B3A23C7FFE0FFF07FF80B548
018F13C0A46C486C01071380322881A730>I<EC01FE3A3FFC0FFF80267FFE3F13E000FF
90B57E90B67E7E6C9038FE07FCC6EBF8039138E001FE14C0EC8000A291C7FCA25BB3A23B
3FFFF81FFFF8486D4813FCB500FE14FEA26C01FC14FC6C496C13F82F2880A730>I<49B4
FC010F13E0013F13F8497F90B57E0003ECFF8014013A07FC007FC04848EB3FE0D81FE0EB
0FF0A24848EB07F8491303007F15FC90C71201A300FEEC00FEA86C14016C15FCA26D1303
003F15F86D13076D130F6C6CEB1FF06C6CEB3FE06D137F3A07FF01FFC06C90B512806C15
006C6C13FC6D5B010F13E0010190C7FC272A7CA830>I<EC03FE3A3FFC1FFF80267FFE7F
13E000FF90B57E90B612FC6C816CEBFE07C69038F001FF4A6C13804A137F4AEB3FC091C7
121F17E049140FA217F01607A8160FA217E07F161F6EEB3FC0A26EEB7F806E13FFDAF003
13009138FC0FFE91B55A5E495C6E13C0021F90C7FCEC03FC91C9FCAD383FFFF8487FB57E
A26C5B6C5B2C3C80A730>I<ED07F83A3FFF803FFF486DB51280B512C302CF14C06C13DF
6C9038FFFC3FD8001F13E09238801F809238000F004A90C7FC5C5C5CA25CA45CAF003FB5
12FC4880B7FCA26C5C6C5C2A287EA730>114 D<90381FFC1E48B5129F000714FF5A5A5A
387FF007EB800100FEC7FC4880A46C143E007F91C7FC13E06CB4FC6C13FC6CEBFF806C14
E0000114F86C6C7F01037F9038000FFF02001380007C147F00FEEC1FC0A2150F7EA27F15
1F6DEB3F806D137F9039FC03FF0090B6FC5D5D00FC14F0D8F83F13C026780FFEC7FC222A
79A830>I<EB0780497E131FA9003FB612E04815F0B7FCA36C15E026001FC0C7FCB216F8
ED01FCA5ECE003010FEB07F814F09138FC1FF06DB512E06D14C016806D14009038007FFC
EC1FF026337EB130>I<D83FFCEB3FFC486C497E00FF14FFA2007F147F003F143F000014
00B3A41501A2150315076D130F903A7FC07FFFF891B612FC6D15FE7F6D4913FC6D9038F8
7FF8010001C0C7FC2F2880A630>I<3B3FFFC07FFF80486DB512C0B515E0A26C16C06C49
6C13803B01F80003F000A26D130700005DA26D130F017E5CA2017F131F6D5CA2EC803F01
1F91C7FCA26E5A010F137EA2ECE0FE01075BA214F101035BA3903801FBF0A314FF6D5BA3
6E5A6E5A2B277EA630>I<3B3FFFC01FFFE0486D4813F0B515F8A26C16F06C496C13E0D8
07E0C7EA3F00A26D5C0003157EA56D14FE00015DEC0F80EC1FC0EC3FE0A33A00FC7FF1F8
A2147DA2ECFDF9017C5C14F8A3017E13FBA290393FF07FE0A3ECE03FA2011F5C90390F80
0F802D277FA630>I<3A3FFF81FFFC4801C37FB580A26C5D6C01815BC648C66CC7FC137F
EC80FE90383F81FC90381FC3F8EB0FE3ECE7F06DB45A6D5B7F6D5B92C8FC147E147F5C49
7F81903803F7E0EB07E790380FE3F0ECC1F890381F81FC90383F80FE90387F007E017E13
7F01FE6D7E48486D7E267FFF80B5FCB500C1148014E3A214C16C0180140029277DA630>
I<3B3FFFC07FFF80486DB512C0B515E0A26C16C06C496C13803B01FC0003F000A2000014
076D5C137E150F017F5C7F151FD91F805BA214C0010F49C7FCA214E00107137EA2EB03F0
157C15FCEB01F85DA2EB00F9ECFDF0147D147FA26E5AA36E5AA35DA2143F92C8FCA25C14
7EA2000F13FE486C5AEA3FC1EBC3F81387EB8FF0EBFFE06C5B5C6C90C9FC6C5AEA01F02B
3C7EA630>I<001FB612FC4815FE5AA316FC90C7EA0FF8ED1FF0ED3FE0ED7FC0EDFF8000
3E491300C7485A4A5A4A5A4A5A4A5A4A5A4A5A4990C7FC495A495A495A495A495A495A49
48133E4890C7127F485A485A485A485A485A48B7FCB8FCA46C15FE28277DA630>I<ED3F
F0913803FFF8140F5C147F16F09138FFF00092C7FC495A5CB3A21303495A133F383FFFF0
B55A5C91C8FC14C080003F7F38003FF813076D7E1301B3A2806D7E15F091387FFFF016F8
141F8014039138003FF025477BBE30>I<EA7FE0EAFFFE6D7E8014F07EC66C7E13076D7E
1301B3A2806D7E15E091387FFFE06E13F8801407141F5C4A13E09138FFE00092C7FC495A
5CB3A21303495A137F387FFFF0B5FC14C05C49C8FCEA7FE025477BBE30>125
D<017C133848B4137C48EB80FE4813C14813C348EBEFFC397FEFFFF0D8FF8713E0010713
C0486C1380D87C0113003838007C1F0C78B730>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fo cmsl10 10.95 35
/Fo 35 123 df<EEFF80030F13F092383FC0789238FE001CDA03F8130E4A48133FDA1FE0
13FF4A5A4B5AEC7F005C5CEE00FE010115784A1400A513035CA4EE01FC0003B7FC17F8A2
3A0007F0000F1607A2130F4A14F0A4160F131F4A14E0A4161F133F4A14C0A4163F137F91
C71380A4167F5B491500A31201486C903801FF80B5D8F83F13FCA25D30407EBF33>12
D<EA0780EA1FE0123F13F0A6EA0F30120013701360A213E013C0A21201EA038013005A12
0E120C121C5A5A5A5A0C1C71BE19>39 D<007FB5FCA2B512FEA418067C961E>45
D<121EEA3F80EA7FC012FFA41380EA7F00123C0A0A788919>I<157015F014011407143F
903803FFE0137FEBFFCFEBF80F1300141F15C0A5143F1580A5147F1500A55C5CA513015C
A513035CA513075CA5130F5CA3131F497EB612F8A31D3D78BC2D>49
D<DCFFC01338030F01F01378037F01FC13F0913A01FF803F01913A07FC000781DA1FE0EB
03C3DA7FC0EB01E74AC812FF4948ED7FE0D907FC153F495A4948151F495A4948150F4948
16C018074890C9FC485AA2485A000F1880491603121FA248481607A295C7FC485AA412FF
5BA75BA2181C183C1838A27F007F1778187018F0003F5F6D150160001F16036C6C4B5A95
C7FC6C6C5D6C6C151E6C6C5D6C6C15F86D6C495A6D6CEB07C0D91FF0EB1F80D907FE01FE
C8FC0101B512F86D6C13E0DA07FEC9FC3D4276BF42>67 D<013FB812E0A3903A007FF000
016E48EB003F180F4B14071803A31801147F4B15C0A514FF92C71270A395C7FC17F0495D
5C160116031607161F49B65AA39138FC003F160F160701075D4A1303A5010F4AC8FC5C93
C9FCA4131F5CA5133F5CA3137FEBFFF0B612F8A33B3E7DBD3B>70
D<021FB512FCA3DA000713006F5AA25EA41507A25EA4150FA25EA4151FA25EA4153FA25E
A4157FA25EA415FFA293C7FCA45C121FD87F805BEAFFC0A214035D13804A5AEAFE0000F8
495A48495A00705C6C495A6C01FEC8FC380F81FC3803FFE0C690C9FC2E407ABD2F>74
D<9238FF80070207EBE00F021FEBF81E91387F00FE02FCEB1F3ED903F0EB0FFE49481307
494813034AEB01FC49C7FC491400133E137E177C491578A57F1770A26D1500808080EB7F
FEECFFE06D13FEEDFFC06D14F06D14FC010380010080143F02031480DA003F13C0150315
00EE7FE0163F161FA2160F121CA31607160F003C16C0A31780003E151F1700007E5D007F
153E6D5C16FC01E0495AD87DF0495AD8FCFCEB0FC03AF87F803F8027F01FFFFEC7FCD8E0
0713F839C0007FC030427BBF33>83 D<0007B912F0A33C0FFE000FF8003F01F0160F01C0
4A13034848160190C7FC121EF000E048141F5E1238A212781270153F5E5AA3C81600157F
5EA515FF93C9FCA55C5DA514035DA514075DA5140F5DA3141FEC7FFC0003B7FCA33C3D76
BC42>I<B6017FB5D88007B512804A1A00A2000701C0010101E0C713F06C90C80180EC3F
C06C48735A99C7FC057F150E1B1E6D191C6C1A3C1B3805FF15787214705E636EEB03BF01
7F4E5AEE073F505A040E7F051F4AC8FC161C6E170E013F143862167804706D5BEEF00F04
E05D90381FE00104C015F003035E0480140106F85B9226070007130302F05F010F010E15
0797C9FC5D190E4BEB03FC616E5A01075F5D61DAF9C014FE05015BECFB8002FF6F5A7F92
C75CA24A93CAFC835C606D5A605C604A15781870594074BD5D>87
D<EC7FC0903803FFF890380FC07E90383E003F496D7E01FF6D7E82A248140782A26C5A13
7890C7120FA25EA2EC03FF147F903807FF1FEB1FE0D97F805B3801FE00EA03F8485A4848
133F485A003F5D49EC81C048C7FCA2157F48ED03804814FFA2007F5B913903BF07009038
80073F3A3FC00E1F8E260FE03C13FC3A03FFF00FF83A007FC003E02A2A7CA82D>97
D<EB3F80EA1FFFA3C6FC137FA291C9FCA55B5BA512015BA4EC07F80003EB3FFF9039F8F8
0FC09039FBE003E09039FF8001F891C77E5B4848147E49147F5B821780A2120F5B17C0A3
167F001F16805BA4EEFF00123F5B4B5AA24B5A5E007F4A5AA24B5A6D495A4BC7FCD87CE0
137E39F87001F839F03C07E039E00FFF80260003FCC8FC2A4077BE33>I<EC1FF0ECFFFE
903903F01F8090390FC003C0D93F0013E0017E130F49131F000115F04848EB3FE0485AA2
4848EB1FC0001FEC0F004990C7FC123FA2485AA412FF90C9FCA96CEC0380150716006C6C
5B151E001F5C6C6C5B6C6C5B6C6C485A3901F80F8026007FFEC7FCEB0FF0242A7AA828>
I<EE03F8ED01FFA3ED000F1607A217F0A4160FA217E0A4161FA217C0A491380FF03FECFF
FC902603F81F138090390FC007BF90391F8003FF90387E0001497F0001157F4848150048
5A120F5B001F5D485A5E5B127FA2150112FF90C75BA41503A25EA37E1507A26C4A5A7F00
1F141F6C6C133F6C6CEBFFF83B03F001EFFFC03900F80F8F90383FFE0FD90FF0EBE0002D
407ABE33>I<EC3FE0903801FFF8903807E07E90380F801F90393F000F80017E14C049EB
07E0485A12034848EB03F0485AA2121F5B123FA248481307A290B6FCA2D8FF80C8FC90C9
FCA87EED01C015036C15806D1307001FEC0F006D131E000F5C6C6C5B6C6C485A3900FC07
C0D93FFFC7FCEB07F8242A7BA828>I<ED07F0ED3FFCEDFC1E913803F03F4A48B4FC4A48
1380141FEC3F81DA7F0113008102FE137C93C7FCA213015CA513035CA50007B512F8A326
0007F0C8FCA3130F5CA5131F5CA5133F5CA5137F91C9FCA55B5BA4EA03FF007F13FEB5FC
A229407DBF1C>I<177C913907F803FE91393FFE0F8F9139FC0F9C3F903901F007F89039
07E003E0D90FC013F0011F903801F80C02801400133FD97F007FA315035B495CA3017E49
5A5E150F6D5C6D495A90263F803EC7FCECC0FC903871FFF09038E07F8091C9FC485AA47F
A27F90B512F8EDFF806C15E016F86D8048B6FC3A07E0000FFED80F801300003FC8127F00
3E815A00FC815AA25E163EA25E6C15FC007C4A5A6C4A5A6CEC0FC0D80FC0013FC7FC3903
F801FCC6B512F0010F90C8FC303D7FA82D>I<147FEB3FFFA313017FA25CA513015CA513
035CA4ED07F80107EB1FFF9139F0781FC09138F1E00F9139F38007E0ECF70002FE14F049
5A5CA25CA24A130F131F4A14E0A4161F133F4A14C0A4163F137F91C71380A4167F5B4915
00A300015D486C491380B5D8F87F13FCA32E3F7DBE33>I<1478EB01FE130314FFA25B14
FE130314FCEB00F01400ACEB03F8EA01FF14F0A2EA001F130FA314E0A5131F14C0A5133F
1480A5137F1400A55B5BA4EA03FF007F13F0A2B5FC183E7DBD1A>I<ED0780ED1FE0153F
16F0157FA216E0153F16C0ED0F0092C7FCACED7F80EC3FFF1600A2140180A35DA41401A2
5DA41403A25DA41407A25DA4140FA25DA4141FA25DA4143F5DA4121E267F807FC7FCA200
FF137E14FE5CEB01F8495A387C07E0383C0FC0D80FFFC8FCEA03F8245187BD1C>I<147F
EB3FFFA313017FA25CA513015CA513035CA501070103B5FC02F014FEA26F13F06F1380EE
FE00010F14F84A485AED03C04B5A031FC7FC153E011F13784A5AECC3E0ECC7F0ECCFF814
FF497F14F9ECE1FE14C04A7E4A7E4980017E133F82151F82150F01FE8049130782A20001
81486C49B4FCB5D8F03F13F04B13E0A2303F7EBE30>I<143FEB1FFF5BA213017FA214FE
A5130114FCA5130314F8A5130714F0A5130F14E0A5131F14C0A5133F1480A5137F1400A5
5B5BA4EA03FF007F13F8A2B5FC183F7DBE1A>I<902707F007F8EB03FCD803FFD91FFF90
380FFF80913CE0781FC03C0FE09126E1E00FEBF0073E001FE38007E1C003F090260FE700
EBE38002EEDAF70013F802FC14FE02D85C14F84A5CA24A5C011F020F14074A4A14F0A501
3F021F140F4A4A14E0A5017F023F141F91C74914C0A549027F143F4992C71380A300014B
147F486C496DEBFFC0B5D8F87FD9FC3F13FEA347287DA74C>I<903907F007F8D803FFEB
1FFF9139E0781FC09138E1E00F3B001FE38007E090380FE70002EE14F014FC14D814F85C
A24A130F131F4A14E0A4161F133F4A14C0A4163F137F91C71380A4167F5B491500A30001
5D486C491380B5D8F87F13FCA32E287DA733>I<EC0FF0ECFFFE903903F01F8090390FC0
07C049C66C7E013E6D7E01FC6D7E48488049147C0003157E485A000F157F5B121FA2485A
A2007F1680A2170048C85AA54B5AA25E5A6C4A5A7E4B5A5E6C140F6C6C5C4B5A6C6C013E
C7FC6C6C5B6C6C485A3900FC0FE090383FFF80D90FF8C8FC292A7BA82D>I<91387F01FE
903A7FFF0FFFC09139FE3E03F09238F801F8903A03FFE000FE6D49137F4B7F92C713804A
15C04A141FA218E0A20103150F5C18F0A3171F010716E05CA3173F18C0130F4A147F1880
A2EFFF004C5A011F5D16034C5A6E495AEE1FC06E495AD93FDC017EC7FC91388F01F89138
83FFE0028090C8FC92C9FC137FA291CAFCA45BA25BA31201487EB512F8A3343A81A733>
I<903907F01F80D803FFEB7FE09138E1E1F09138E387F839001FE707EB0FE614EE02FC13
F002D813E09138F801804AC7FCA25C131FA25CA4133F5CA5137F91C8FCA55B5BA3120148
7EB512FEA325287EA724>114 D<9138FF81C0010713E390381F807F90397C003F804913
1F4848130F5B00031407A248481400A27FA27F6D90C7FCEBFF8014FC6C13FF6C14C015F0
6C6C7F011F7F13079038007FFE1403140100381300157EA2123C153E157E007C147CA200
7E147815F8007F495A4A5A486C485A26F9E01FC7FC38E0FFFC38C01FE0222A7DA824>I<
EB0380A4130791C7FCA25BA25BA2133EA2137E13FE12011207001FB512C0B6FCA2D801FC
C7FCA312035BA512075BA5120F5BA41407001F130E13C0A4141E141C1380A26D5AA2000F
5B14F03807E1E03801FF80D8007EC7FC1A3978B723>I<01FE147F00FFEC7FFF4914FEA2
0007140300031401A34914FCA4150312074914F8A41507120F4914F0A4150F121F4914E0
A2151FA3153F4914C0157F15FFEC01DF3A0FC003BFE09138073FFF3803F01E3801FFF826
003FE01380282977A733>I<B539E007FFF05D17E02707FE000313006C48EB01FC6F5A5E
00014A5A5EA24B5A6D1307000092C7FC5D150E6D5B7F5DA25D1480013F5B14815D14C301
1F5B02C7C8FCA214CE14EEEB0FFCA25CA26D5A5CA25CA26D5A2C2878A630>I<B500C3B5
3803FFFCA204FE14F8290FFE003FE00013C0D807F86D48EB7F000003173E183C150F1838
6D5E0001141F705B153F4D5A15776D4B5A0000ECE7F04DC7FCEC01C3170E9038FF038301
7F5D91380703F85FEC0E01021E5CD93F9C14F002BC6D5A02B813FDDAF8005B4A13FF5F6D
5A94C8FC5C4A137E167C6DC7FC1678010E14383E2878A642>I<90B539E007FFF05E18E0
902707FE000313006D48EB01FC705A5F01014A5A5F16036E5C0100140794C7FC160E805E
805E1678ED8070023F13F05EED81C015C191381FC38015C793C8FC15EF15EEEC0FFCA25D
A26E5AA25DA26E5A5DA24AC9FC5C140E141E141C5C121C003F5B5A485B495A130300FE5B
4848CAFCEA701EEA783CEA3FF0EA0FC0343A80A630>121 D<017FB512FEA2ECC0019039
7E0003FC49EB07F849EB0FF049EB1FE049EB3FC0ED7F8000011500495B4A5A4A5A484848
5A4A5AC7485A4A5A5D147F4AC7FC495A495A49481370494813E0495A5C133F90387F8001
D9FF0013C0485A48481303485A4848EB078049130F4848131F003F143F397F8001FFB712
00A227277EA628>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fp cmbx12 17.28 47
/Fp 47 122 df<B812C0AD2A0D7EA636>45 D<16F04B7E1507151F153FEC01FF1407147F
010FB5FCB7FCA41487EBF007C7FCB3B3B3B3007FB91280A6395E74DD51>49
D<913801FFF8021FEBFFC091B612F8010315FF010F16C0013F8290267FFC0114F89027FF
E0003F7F4890C7000F7F48486E7FD807F86E148048486E14C048486E14E048486F13F001
FC17F8486C816D17FC6E80B56C16FE8380A219FFA283A36C5BA26C5B6C90C8FCD807FC5D
EA01F0CA14FEA34D13FCA219F85F19F04D13E0A294B512C019804C14004C5B604C5B4C5B
604C13804C90C7FC4C5A4C5A4B13F05F4B13804B90C8FC4B5AED1FF84B5A4B5A4B48143F
4A5B4A48C8FC4A5A4A48157E4A5A4A5AEC7F8092C9FC02FE16FE495A495A4948ED01FCD9
0FC0150749B8FC5B5B90B9FC5A4818F85A5A5A5A5ABAFCA219F0A4405E78DD51>I<92B5
FC020F14F8023F14FF49B712C04916F0010FD9C01F13FC90271FFC00077FD93FE001017F
49486D8049C86C7F484883486C6F7F14C0486D826E806E82487FA4805CA36C5E4A5E6C5B
6C5B6C495E011FC85A90C95CA294B55A614C91C7FC604C5B4C5B4C5B4C5B047F13809226
0FFFFEC8FC020FB512F817E094C9FC17F817FF91C7003F13E0040713F8040113FE707F71
7F7113E085717FA2717F85A285831A80A31AC0EA03FCEA0FFF487F487F487FA2B57EA31A
80A34D14005C7E4A5E5F6C495E49C8485BD81FF85F000F5ED807FE92B55A6C6C6C491480
6C01F0010791C7FC6C9026FF803F5B6D90B65A011F16F0010716C001014BC8FCD9001F14
F0020149C9FC426079DD51>I<F01F804E7E187F18FFA25F5F5F5FA25F5F5FA294B5FC5E
5E5EA25E5EEE3FBFEE7F3FA216FEED01FCED03F8ED07F0A2ED0FE0ED1FC0ED3F8016005D
15FE4A5A4A5AA24A5A4A5A4A5A4A5AA24AC7FC14FE495A5C1303495A495A495A5C133F49
C8FC13FE485AA2485A485A485A5B121F485A48C9FC12FEBCFCA6CA6CEBC000B1037FB8FC
A6485E7CDD51>I<01C0EE01C0D801F8160F01FF167F02F0EC07FFDAFF8090B5FC92B712
8019006060606060606095C7FC17FC5F17E0178004FCC8FC16E09026FC3FFCC9FC91CBFC
ADED3FFE0203B512F0020F14FE023F6E7E91B712E001FDD9E00F7F9027FFFE00037F02F8
01007F02E06EB4FC02806E138091C8FC496F13C04917E07113F0EA00F090C914F8A219FC
83A219FEA419FFA3EA03F0EA0FFC487E487E487FA2B57EA319FEA35C4D13FC6C90C8FC5B
4917F8EA3FF001804B13F06D17E0001F5E6C6C17C06D4B1380D807FC92B512006C6C4A5B
6C6C6C01075B6C01E0011F5BD97FFE90B55A6DB712C0010F93C7FC6D15FC010115F0D900
3F1480020301F0C8FC406078DD51>I<EE1FFF0303B512E0031F14F892B612FE0203814A
D9FC037F021F9039C0007FC04A90C7EA1FE0DAFFFC6E7E494914074949EC7FF8494914FF
49495B4949497F4990C7FC495D5C13FF485BA25A4A6E5B5A715B48496E5B725A4894C8FC
A35AA35C48913801FFE0030F13FE033F6D7E4B14E092B612F89126E1FE037FB53AE3F000
7FFEDAE7E06D7EDAEFC06D7F4B6D7F02FFC76C7F4A82717F4A82A2854A8085A24A1780A5
4A17C0A37EA77EA47E6E1780A27EA21A007E4D5B7E6E5E7E6E5E6C4C5B6D7E013F4B5B6D
6C4A5B6D01C0495B6D6D90B5C7FC6DD9FC0713FC6D90B65A6D5E023F15C0020F92C8FC02
0114F8DA001F1380426079DD51>I<EA07E0120F7F13FCEBFFFC91B912F8A45AA21AF01A
E01AC01A801A00A248606161616101E0C9123F01804C5A48CA485A4D90C7FC60007E4C5A
17074D5A4D5A4D5A485F4D5A17FF4C90C8FCC9485A5F4C5A160F4C5A5F163F4C5A16FF5F
5D94C9FC5D5D5E150FA24B5AA2153FA24B5AA215FFA34A5BA25CA35CA44A5BA45CA65CAD
6E5BA26E5BDA03FECAFC6E5A456377E051>I<F00FE04E7EA24E7EA34E7EA24E7EA34D7F
A24D80A24D80A34D80A24D80A34D80A2DD7FBF7FA2181F05FF8017FE04016D7FA24D7E04
038217F804076D80A24D7E040F8217E0041F6D80A24D7F043F825F047F6E7FA294C77E4C
825E03016F7FA24C800303845E03076F80A24C80030F845E031F6F80A24C81033F845E03
7F707F93B9FCA292BA7EA24A85A203FCC912070203865D020771805D86020F864B82021F
865D87023F864B83027F8692CBFC874A864A840101875C496C728090381FFFC0B700E092
B812FEA66F647BE37A>65 D<BB12F0F2FF801BF81BFEF3FFC088D800010280C7000114F8
DF003F7F080F13FF74807480867480757FA2757FA28987A289A965A26365A2515BA298B5
5A505C505C5091C7FC505B505B087F13F00703B512C096B6C8FC93B812F81BC01BF8F3FF
801CE00480C8001F13F8080713FE08016D7E7480757F757F757F89757F89871E80871EC0
A41EE087A663A21EC0A3631E80A2511400A2515B515B6398B55A505C08075C081F5C97B6
C7FCBD5A1CF81CE099C8FC1BF898C9FC63627AE173>I<4DB5ED03C0057F02F014070407
B600FE140F047FDBFFC0131F4BB800F0133F030F05FC137F033F9127F8007FFE13FF92B6
C73807FF814A02F0020113C3020702C09138007FE74A91C9001FB5FC023F01FC16074A01
F08291B54882490280824991CB7E49498449498449498449865D49498490B5FC484A84A2
484A84A24891CD127FA25A4A1A3F5AA348491A1FA44899C7FCA25CA3B5FCB07EA380A27E
A2F50FC0A26C7FA37E6E1A1F6C1D80A26C801D3F6C6E1A00A26C6E616D1BFE6D7F6F4E5A
7F6D6D4E5A6D6D4E5A6D6D4E5A6D6E171F6D02E04D5A6E6DEFFF806E01FC4C90C7FC020F
01FFEE07FE6E02C0ED1FF8020102F8ED7FF06E02FF913803FFE0033F02F8013F1380030F
91B648C8FC030117F86F6C16E004071680DC007F02F8C9FC050191CAFC626677E375>I<
BB12E0F2FF801BF01BFE757E1CF0D800010280C7000780DF007F13FE080F6D7E08018074
80093F7F090F13FC757F757F877580767F8A88767F8A888AA2767FA28A881F80A37614C0
A41FE0A5881FF0B05214E0A51FC0A4521480A31F006466A2525BA2525BA2525B666499B5
5A515C5191C7FC515B515B515B097F5B50B512C008075C083F91C8FC0707B512FCBD12F0
1CC051C9FC1BF81B8008E0CAFC6C627AE17C>I<BD12FCA488A2D8000102C0C71201F100
0F1A01F2007F1B3F1B0F1B07757EA28787A288A3F43F80A31C1FA3197EA3F40FC0A499C7
FC19FEA31801A218031807181F18FF93B6FCA6EEC000181F180718031801A21800A21D7E
197EA21DFCA696C812011DF8A31C03A3F407F0A31C0FA21C1F1C3F1DE01C7F1CFF63631B
0F093F13C098B5FC1A0797B6FCBEFCA31D80A35F617AE06A>I<4DB5ED03C0057F02F014
070407B600FE140F047FDBFFC0131F4BB800F0133F030F05FC137F033F9127F8007FFE13
FF92B6C73807FF814A02F0020113C3020702C09138007FE74A91C9001FB5FC023F01FC16
074A01F08291B54882490280824991CB7E49498449498449498449865D49498490B5FC48
4A84A2484A84A24891CD127FA25A4A1A3F5AA348491A1FA44899C8FCA25CA3B5FCB07E07
1FB812F880A37EA296C70001ECC000A26C7FA37E807EA26C80A26C80A26C807F6D7F816D
7F7F6D7F6D6D5F6D14C06D6E5E6E7F6E01FC5E020F01FF5E6E02C0ED7FEF020102F8EDFF
C76E02FF02071383033F02FC013F1301030F91B638FC007F03014D131F6F6C04E0130704
0704801301DC007F02F8CAFC050191CBFC6D6677E37F>71 D<B96C90B91280A6D8000102
C0C9000102C0C7FCB3B3A293BBFCA604C0C91201B3B3A6B96C90B91280A671627AE17E>
I<B912E0A6C702E0C7FCB3B3B3B3AEB912E0A633627CE13C>I<B96C020FB612FCA6D800
0102C0CA003FEBF0000A0390C7FC525A525AF41FF0525A525A525A090390C8FC515AF30F
F8515A515A515A50485A5090C9FC505AF20FF8505A505A505A4F485A4F90CAFCF107FC4F
5A4F5A4F5A4F5A4E485A4E90CBFCF007FC4E5A4E7E4E7E18FF4D7F4D805F4D804D804D80
94B6FC04C181DCC3FE809326C7FC7F7F9338CFF83F9326DFF01F7FDCFFE0814D6C804D7E
DCFE00814C6D804C7F4C6D804C824C6E7F85737F8873808588738085738088747F86747F
8974808689748086748089757F87757F8A7580878A7580090F14FCB96C010FB8FCA67062
7AE17E>75 D<B912F8A6D8000102C0CBFCB3B3B1F307E0A5F30FC0A61B1FA31B3F1C80A2
1B7FA21BFFA262A262625013006262624FB5FC1907191F4EB6FCBDFC63A553627AE161>
I<B700E0040FB7128082828282A2D800016EDC000101FCC7FC719338001FC08383A28302
FD808302FC80816F7F6F806F8084816F806F806F8084707F827080708085708082708070
8085717F83718071807180868371807180727F8672808472807280877280847280737F87
731480857314C07314E01CF07314F8857314FC7413FE7413FF1D9F867414DF7414FF86A2
86868787A287878787A28787888888A288888890261FFFC084B712F8881D7F1D3F1D1F77
5A71627AE17E>78 D<BB7E1AFCF2FFC01BF81BFE757ED800010280C7001F80070114F073
6C7F081F7F747F747F7414807414C0A27414E0A21DF0A27513F8A41DFCA91DF8A498B512
F0A21DE0A25014C01D8062501400505B505B087F5B4FB512E0071F5C93B9C7FC1BFC1BF0
1B8008F0C8FC04C0CCFCB3B3A2B97EA65E627AE16E>80 D<BA12F8F1FFE01AFEF2FFC01B
F01BFED800010280C76C7F070714C0070014F0747F081F7F747F747F7480A2748089A374
80A389A865A3505CA265A2505C9AC9FC505B505B505B087F5B4FB55A0707148096B548CA
FC93B812F81BC050CBFC621AFF932680000314C0DE007F7F071F13F8737F737F737F7380
8885888688A2747FA688A688A676140FF71F80A374801F3F86771400745E746E5BB96E6E
5B746E485A75EBFE07091F90B55A090715E009015DCF003F91C7FC0A0013FC71647AE178
>82 D<DBFFFCEC01E0020FD9FFE01303027F02FC130749B7130F0107EEC01F011F16F049
D9C007EBF83F4948C7383FFE7FD9FFF8020FB5FC4801E014014849804849153F91C97E48
4882001F834982003F83845B007F187FA2193FA200FF181FA27F190FA27FA26D17078080
806C01F893C7FC80ECFF8015F86CECFFC016FC6CEDFFE017FE6CEEFFE018F86C17FE6C71
7E6C846C846D17F86D836D836D8313036D18806D6C17C0020F17E01401DA000F16F01500
040715F8EE007F1703050014FC183F84060713FE84A2007C8300FC83A2197FA3193F7EA3
1AFC7EA27F1AF86D177F7F1AF06D17FF6D18E06D5E01FF18C06E4B138002E04B130002F8
4B5A02FFED3FFC01CF01E0ECFFF8018301FF010F5B010191B65A6D6C5E48011F93C7FC48
010315FC48D9003F14E048020149C8FC476677E35A>I<001FBEFCA64849C79126E0000F
148002E0180091C8171F498601F81A0349864986A2491B7FA2491B3F007F1DC090C9181F
A4007E1C0FA600FE1DE0481C07A5CA95C7FCB3B3B3A3021FBAFCA663617AE070>I<B96C
023FB612FEA6D8000102C0CA0007EBF000E2007FC7FCB3B3B3AA656D63A2821C01806570
170380525A6E7F6E4F5A70171F6E626E6D4D5A6E6D177F525A6E6E030390C8FC033F01E0
4B5A6F6DED1FFC6F01FCED7FF80303D9FF80903803FFE06F02F8017F5B6F6C90B7C9FC04
1F5E040716F8040016C0050F4ACAFCDD003F13C06F647AE17C>I<913803FFFE027FEBFF
F00103B612FE010F6F7E4916E090273FFE001F7FD97FE001077FD9FFF801017F486D6D7F
717E486D6E7F85717FA2717FA36C496E7FA26C5B6D5AEB1FC090C9FCA74BB6FC157F0207
B7FC147F49B61207010F14C0013FEBFE004913F048B512C04891C7FC485B4813F85A5C48
5B5A5CA2B55AA45FA25F806C5E806C047D7F6EEB01F96C6DD903F1EBFF806C01FED90FE1
14FF6C9027FFC07FC01580000191B5487E6C6C4B7E011F02FC130F010302F001011400D9
001F90CBFC49437CC14E>97 D<903807FF80B6FCA6C6FC7F7FB3A8EFFFF8040FEBFF8004
7F14F00381B612FC038715FF038F010014C0DBBFF0011F7FDBFFC001077F93C76C7F4B02
007F03F8824B6F7E4B6F13804B17C0851BE0A27313F0A21BF8A37313FCA41BFEAE1BFCA4
4F13F8A31BF0A24F13E0A24F13C06F17804F1300816F4B5A6F4A5B4AB402075B4A6C6C49
5B9126F83FE0013F13C09127F00FFC03B55A4A6CB648C7FCDAC00115F84A6C15E091C700
1F91C8FC90C8000313E04F657BE35A>I<92380FFFF04AB67E020F15F0023F15FC91B77E
01039039FE001FFF4901F8010113804901E0010713C04901804913E0017F90C7FC49484A
13F0A2485B485B5A5C5A7113E0485B7113C048701380943800FE0095C7FC485BA4B5FCAE
7EA280A27EA2806C18FCA26C6D150119F87E6C6D15036EED07F06C18E06C6D150F6D6DEC
1FC06D01E0EC7F806D6DECFF00010701FCEB03FE6D9039FFC03FFC010091B512F0023F5D
020F1580020102FCC7FCDA000F13C03E437BC148>I<F17FF8050FB5FCA6EF000F8484B3
A892380FFF804AB512F8020F14FE023FECFF8391B712E301039138807FF3499039F8000F
FB011F01E00103B5FC494913004990C87E49488148498148834A815A485BA2485BA25AA3
485BA4B5FCAE7EA46C7FA37EA26C7FA26C5F806C5F6C6D5D6C6D5D017F93B5FC6D6C6C01
03806D6D49806D01F0D91FF7EBFFFE6D9039FE01FFE7010190B612876D6CECFE07021F14
F8020314E09127003FFE00ECC0004F657BE35A>I<92380FFFC04AB512FC020FECFF8002
3F15E091B712F80103D9FE037F499039F0007FFF011F01C0011F7F49496D7F4990C76C7F
49486E7F48498048844A804884485B727E5A5C48717EA35A5C721380A2B5FCA391B9FCA4
1A0002C0CBFCA67EA380A27EA27E6E160FF11F806C183F6C7FF17F006C7F6C6D16FE6C17
016D6C4B5A6D6D4A5A6D01E04A5A6D6DEC3FE0010301FC49B45A6D9026FFC01F90C7FC6D
6C90B55A021F15F8020715E0020092C8FC030713F041437CC14A>I<EE3FFC0307B51280
033F14C04AB612F0020715F84A9038F03FFC4AEB807F913A7FFE00FFFE4A5A4B4813FF49
13F05B4913E0A24913C0A27013FE4949EB7FFCEF3FF8EF1FF0EF07C094C7FCB0B812C0A6
D8001F01C0C8FCB3B3B0007FB612FCA638657CE431>I<F107F8DB7FFEEC3FFE020FB5D8
F001B5FC027FDAFE03148049B7128F49DCDFFD13C0010FD9F00FEBFFC149D98001140149
90C7EBFC0349486E6C7E4948EC3FFF48496E018113800780130048F0C03E97C7FC48496E
7FA34884A96C60A36C6D4A5BA26C60A26C6D4A90C8FC6D6C4A5A6D6C4A5A6D6D485BDBF0
0F5B4990B612C060D97C7F4AC9FCD9FC0F14F09126007FFECAFC92CCFC1201A47FA27F80
14F091B77E18FE6CEFFFC019F06D17FC19FF6D846D846D846D84013F8490BAFC00038548
01E0C712014890C9000F7F484816014848EE007F4848717E8512FF5B85A56D5F007F616D
173F003F616D177F6C6C4D5A6C01C003035B6C6D4B5B6C01F8031F5BC601FF92B5C7FC6D
01F8011F5B011F90B712F8010717E0010094C8FC020F15F0DA003F01FCC9FC4A607CC151
>I<903807FF80B6FCA6C6FC7F7FB3A8EF1FFF94B512F0040714FC041F14FF4C8193267F
E07F7F922781FE001F7FDB83F86D7FDB87F07FDB8FC0814C7F039FC78015BE03BC8003FC
825DA25DA25DA45DB3B2B7D8F007B71280A651647BE35A>I<EB0FE0EB3FF8497E48B5FC
A24880A24880A76C5CA26C91C7FCA238007FFC6D5AEB0FE090C9FCAF903807FF80007FB5
FCA6C6FC7F7FB3B3AEB712C0A622657BE42C>I<903807FF80B6FCA6C6FC7F7FB3A90503
B61280A6DD003FEB8000DE0FFCC7FCF01FF04E5AF0FFC04D5B4D90C8FCEF07FC4D5AEF3F
F04D5A4D5A4C90C9FC4C5AEE0FFC4C5A4C5AEE7FC04C7E03837F03877F158F039F7F03BF
7F92B5FC838403FC804B7E03F0804B6C7F4B6C7F1580707F707F707FA270807080717FA2
717F717F717FA2717F717F83867180727F95B57EB7D8E00FECFFF0A64C647BE355>107
D<903807FF80B6FCA6C6FC7F7FB3B3B3B3ADB712E0A623647BE32C>I<902607FF80D91F
FFEEFFF8B691B500F00207EBFF80040702FC023F14E0041F02FF91B612F84C6F48819326
7FE07F6D4801037F922781FE001F9027E00FF0007FC6DA83F86D9026F01FC06D7F6DD987
F06D4A487F6DD98FC0DBF87EC7804C6D027C80039FC76E488203BEEEFDF003BC6E4A8003
FC04FF834B5FA24B5FA24B94C8FCA44B5EB3B2B7D8F007B7D8803FB612FCA67E417BC087
>I<902607FF80EB1FFFB691B512F0040714FC041F14FF4C8193267FE07F7F922781FE00
1F7FC6DA83F86D7F6DD987F07F6DD98FC0814C7F039FC78015BE03BC8003FC825DA25DA2
5DA45DB3B2B7D8F007B71280A651417BC05A>I<923807FFE092B6FC020715E0021F15F8
027F15FE494848C66C6C7E010701F0010F13E04901C001037F49496D7F4990C87F49486F
7E49486F7E48496F13804819C04A814819E048496F13F0A24819F8A348496F13FCA34819
FEA4B518FFAD6C19FEA46C6D4B13FCA36C19F8A26C6D4B13F0A26C19E06C6D4B13C0A26C
6D4B13806C6D4B13006D6C4B5A6D6D495B6D6D495B010701F0010F13E06D01FE017F5B01
0090B7C7FC023F15FC020715E0020092C8FC030713E048437CC151>I<902607FF80EBFF
F8B6010FEBFF80047F14F00381B612FC038715FF038F010114C09227BFF0003F7FC6DAFF
C0010F7F6D91C76C7F6D496E7F03F86E7F4B6E7F4B17804B6F13C0A27313E0A27313F0A2
1BF885A21BFCA3851BFEAE4F13FCA41BF861A21BF0611BE0611BC06F92B512801B006F5C
6F4A5B6F4A5B03FF4A5B70495B04E0017F13C09226CFFC03B55A03C7B648C7FC03C115F8
03C015E0041F91C8FC040313E093CBFCB3A3B712F0A64F5D7BC05A>I<D90FFFEB0FFCB6
90383FFF8093B512E04B14F04B14F8923907FC7FFC92390FE0FFFEC6EC1F806DD93F0113
FF6D133E157E157C15F8A215F07013FEA24BEB7FFCEF3FF8EF0FE04B90C7FCA55DB3B0B7
12F8A638417BC042>114 D<913A3FFF8007800107B5EAF81F011FECFE7F017F91B5FC48
B8FC48EBE0014890C7121FD80FFC1407D81FF0801600485A007F167F49153FA212FF171F
A27F7F7F6D92C7FC13FF14E014FF6C14F8EDFFC06C15FC16FF6C16C06C16F06C826C826C
826C82013F1680010F16C01303D9007F15E0020315F0EC001F1500041F13F81607007C15
0100FC81177F6C163FA2171F7EA26D16F0A27F173F6D16E06D157F6D16C001FEEDFF806D
0203130002C0EB0FFE02FCEB7FFC01DFB65A010F5DD8FE0315C026F8007F49C7FC48010F
13E035437BC140>I<EC07E0A6140FA5141FA3143FA2147FA214FF5BA25B5B5B5B137F48
B5FC000F91B512FEB8FCA5D8001F01E0C8FCB3AFEF0FC0AC171F6D6D1480A2173F6D1600
6F5B6D6D137E6D6D5B6DEBFF836EEBFFF86E5C020F14C002035C9126003FFCC7FC325C7D
DA3F>I<902607FFC0ED3FFEB60207B5FCA6C6EE00076D826D82B3B3A260A360A2607F60
183E6D6D147E4E7F6D6D4948806D6DD907F0ECFF806D01FFEB3FE06D91B55A6E1500021F
5C020314F8DA003F018002F0C7FC51427BC05A>I<B700C00103B512FCA6C66C01C0C838
1FFE006D6DED07F0A26D6D5E190F6D6D5E191F6D606F153F6D95C7FC6F5DA26D6D157E19
FE6D6E5C18016E5E7013036E5E701307A26E6D5C180F6E6D5C181F6E6D5C183F6E93C8FC
705BA26E6D13FEA26E6E5A17816FEBC1F817C36F5C17E76F5C17FFA26F5CA26F5CA26F91
C9FCA26F5BA36F5BA2705AA2705AA2705AA2705A4E417DBF55>I<B70081B600FC0103B5
12FCA6C66C0180C701FCC8381FFE006F6FED03F86D047F5F856F6E16076D646F70140F6D
705F866F6E161F6D646F4A6D143F6D99C7FC4E7F6F616D1B7E6F4A6D14FE6D6395B57E70
01FC15016E62DCC0016E13036EDBF87F5D05038004E0496C14076E62DCF007ED800F6E4B
6C5D050F15C004F8496C141F6E62DCFC1FEDE03F6E4B6C92C8FC053F15F004FE496C5C6E
197E7048EDF8FE6E027E6D5C05FE15FC4D6D13FD6F601BFF6F496E5BA24D806F60A26F49
6E5BA24D806F60A26F496E90C9FCA294C87E6F5FA26F486F5A047C6F5A6E417DBF75>I<
007FB600C0017FB512F8A6D8001F01F8C70007EBF0006D040190C7FC6D6D5D6D6D4A5A6D
6D4A5A70495A6D4C5A6E7F6E6D495A6E6D495A7049C8FC6E4A5A6E6D485A6E6D485A6E13
FFEF8FF06EEC9FE06FEBFFC06F5C6F91C9FC5F6F5B816F7F6F7F8481707F8493B57E4B80
5D4B80DB0FF37FDB1FE17F04C080153F4B486C7F4B486C7F4A486D7F4A486D7F4A5A4B6D
7F020F6E7F4A486D7F4A486D804A5A4AC86C7F49486F7F4A6F7F0107707FEB3FFFB600F0
49B7FCA650407EBF55>I<B700C00103B512FCA6D8003F01C0C8381FFE006FED07F0A26D
6D5E190F6D6D5E191F6D6D5E193F6D95C7FC6F5D6D177E6F15FEA26D6E495AA26E6D5C18
036E6D5C18076E5E70130F6E5E70131FA26E6D495AA26E6D91C8FC606E6D137E18FE6E5D
17816F5C17C3A26FEBE7F0A26FEBF7E017FF6F5CA26F5CA26F91C9FCA36F5BA26F5BA270
5AA2705AA2705AA35FA25F163F94CAFC5E167E16FED807E05CD81FF81301487E486C495A
A2B5495AA24B5A5E151F4B5A6C4849CBFC15FEEBFC01393FF807FC391FF03FF06CB55A6C
5C6C91CCFCC613FCEB1FE04E5D7DBF55>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fq cmsy10 10.95 2
/Fq 2 16 df<EE7FFE0307B512E0033F14FC92B7FC0203D9C00313C0DA0FFCC7EA3FF0DA
3FE0EC07FCDA7F80EC01FED901FEC9EA7F80D903F8EE1FC0D907E0EE07E04948707E4948
707E49CB7E017E187E498449844848F00F8000031AC04918074848F003E0A24848F001F0
A248CD12F8A2001E1A78003E1A7CA2003C1A3C007C1A3EA200781A1EA300F81A1FA2481A
0FAB6C1A1FA200781A1EA3007C1A3EA2003C1A3C003E1A7CA2001E1A78001F1AF8A26C6C
F001F0A26C6CF003E0A26C6CF007C06D180F00011A806C6CF01F006D60017E187E6D606D
6C4C5A6D6C4C5A6D6C4C5AD903F8EE1FC0D901FEEE7F809026007F80DA01FEC7FCDA3FE0
EC07FCDA0FFCEC3FF0913B03FFC003FFC0020090B6C8FC033F14FC030714E09226007FFE
C9FC50557BC05B>13 D<EB0FFCEB3FFF90B512C0000314F04880488048804880A2481580
A3B712C0AA6C1580A36C1500A26C5C6C5C6C5C6C5CC614C0013F90C7FCEB0FFC22227BA7
2D>15 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fr cmbx12 14.4 61
/Fr 61 122 df<922601FFFC903801FFE0033F9026FF801F13F84AB6D8E07F13FE020F03
F9B6FC023FD9C00FB500C0138091277FFC0003D9FE0113C0902601FFE049495A49494949
4813E04990C714F049484A13E0495A19C0495A7413C0017F17804A6E6E1380719138007E
007192C7FCAEBCFCA526007FF8C7000301C0C8FCB3B3A7007FB5D8F803B612F0A553547D
D34E>11 D<EEFFFC031FEBFF804AB612E0020781021F9038C00FF8913A7FFE0003FCDAFF
F0EB00FE4949EB03FF4901805B4990C7487F49485CA2495A4D7F013F6F5B5CA37190C7FC
715AEF01F894C9FCA90403B512C0BAFCA526003FFCC7120783B3B3A6003FB5D8FC03B612
C0A542547DD34B>I<49B419F0010F01E01701013F6D4D7E4901FC17079026FFC1FE170F
48D9007F4D5A4848D93FC0163F0007DA1FF04C5A48486D6C4B485A6FB403075B484803C0
141F003F6E01F891B5C8FC9327EFFFC00F5B04F190B6FC4848902601F07FECF7FC0507EC
8FF8943A003FF00FF07090C7121F00FF02004C5A505A631AFF4F90C9FC624F5A19074F5A
62191F4F5A4F5A007F02015E4C14FF4E90CAFC4E5A6C6C01035D4C13074E5A001F02075D
6C6C4A495A030F143F6C6C4948495A00034AC75B6C6C017E14FF6CD9C1FC4990CBFC6DB4
48495A6D495C010F491307010190C74848EC1FF090C94848ECFFFE4E01037F053F4A804D
4890390FFC1FC04E90391FF007E04DC748486C7E4C037F6D7E4C484A486C7E4D177C0407
4A49137E4C4849153E4C5A4D173F043F4A90C77E4C5A4C5A94C717804B4B150F4B5A5E4B
5A150F4B5A5E153F4B5A4B5A93C8FC5C4A5A4A486F151F4B1A00140F4A5A4B6F6D5B4A48
193E147F4A486F157E92CA6D137C491BFC4948716C485A4948053F495A4A716C485A010F
95390FFC1FC04A71B55A4A7191C7FC6D4805005B0103F11FF0616179D970>37
D<EA07F0EA1FF8487E487E7FB5FC1480A314C0A37EA27E7EEA07F3EA0003A213071480A3
130F1400A25B131E133E133C137C5BA2485A485A485A485A48C7FC121E120C1228769025
>44 D<B712F0AB240B7F9F2D>I<EA07F0487E487E487E487EB51280A76C13006C5A6C5A
6C5A6C5A1111769025>I<913803FFC0023F13FC91B6FC010315C0010F018113F0903A1F
FC003FF849486D7E49486D7E49486D7E48496D138048496D13C0A24817E04890C813F0A3
4817F8A24817FC49157FA3007F17FEA600FF17FFB3A5007F17FEA6003F17FCA26D15FFA2
6C17F8A36C17F0A26C6D4913E0A26C6D4913C06C17806E5B6C6D4913006D6C495AD91FFC
EB3FF8903A0FFF81FFF06D90B55A01011580D9003F01FCC7FC020313C0384F7BCD43>48
D<157815FC14031407141F14FF130F0007B5FCB6FCA2147F13F0EAF800C7FCB3B3B3A600
7FB712FEA52F4E76CD43>I<EC3FFE0103B512E0010F14FC013F14FF90B712C048D9C07F
7F2703FE000F13F8D807F801037FD80FE06D7F48486D7F48488001F01680486C6E13C07F
486C6E13E07FA27013F0A56C5AA26C5AEA0FF0EA03C0C914E05EA218C05E1880A24C1300
5F4C5A4B5B5F4B5B5F4B5B4B90C7FC4B5A5E4B5AED7FE04B5A4A5B4A48C8FC4A5A5D4A48
EB01F04A5AEC3F804AC7FC02FEEC03E0495A495A495A495AD91F80140749C8FC013E150F
017FB7FC90B812C05A5A5A5A5A5A5AB9FC1880A4344E79CD43>I<91380FFFC091B512FC
0107ECFF80011F15E090263FF8077F9026FF800113FC4848C76C7ED803F86E7E491680D8
07FC8048B416C080486D15E0A4805CA36C17C06C5B6C90C75AD801FC1680C9FC4C13005F
A24C5A4B5B4B5B4B13C04B5BDBFFFEC7FC91B512F816E016FCEEFF80DA000713E0030113
F89238007FFE707E7013807013C018E07013F0A218F8A27013FCA218FEA2EA03E0EA0FF8
487E487E487EB57EA318FCA25E18F891C7FC6C17F0495C6C4816E001F04A13C06C484A13
80D80FF84A13006CB44A5A6CD9F0075BC690B612F06D5D011F1580010302FCC7FCD9001F
1380374F7ACD43>I<177C17FEA2160116031607160FA2161F163F167FA216FF5D5DA25D
5DED1FBFED3F3F153E157C15FCEC01F815F0EC03E01407EC0FC01580EC1F005C147E147C
5C1301495A495A5C495A131F49C7FC133E5B13FC485A5B485A1207485A485A90C8FC123E
127E5ABA12C0A5C96C48C7FCAF020FB712C0A53A4F7CCE43>I<D80380150ED807E0157E
01FEEC03FED9FFF0137F91B65A5F5F5F5F5F94C7FC5E5E16F016C093C8FC15F801E190C9
FC01E0CAFCABEC0FFF027F13F001E3B512FE01E76E7E9026FFF8077FDAC0017F49C713F8
496E7E49143F4981496E7E6C481680C9FC18C08218E0A418F0A3EA0FE0487E487E487E48
7EA418E0A35B6C484A13C05B491680003EC85A003F17006C6C4A5A6D5D6C6C4A5AD807F8
495BD803FE01075B2701FFC03F5B6C90B65A013F4AC7FC6D14F8010314C09026007FF8C8
FC344F79CD43>I<ED0FFF92B512E0020780021F14FC91397FFE03FE903A01FFF0007F49
01C0EB3F804990C7121F4948EC7FC0494814FF49484913E049485B01FF5C485BA2485B5A
A2486F13C04A6D1380486F1300177E94C7FC5AA291CAFC5AA21508913801FFF8020713FF
B54814C04A14F04AC66C7E023C6D7E4A6D7E4A6D7E7013804A15C0A24A15E07013F05C18
F8A491C714FCA37EA67EA46C17F880A27E18F06C5D18E06C6D15C07E6E4913806C6D1500
6D6C495A6D6CEB7FFC6DB448485A6D90B55A010315C0010092C7FC023F13FC020713C036
4F7ACD43>I<121F7F7FEBFF8091B81280A45A1900606060A2606060485F0180C86CC7FC
007EC95A4C5A007C4B5A5F4C5A160F4C5A484B5A4C5A94C8FC16FEC812014B5A5E4B5A15
0F4B5AA24B5AA24B5A15FFA24A90C9FCA25C5D1407A2140FA25D141FA2143FA4147F5DA3
14FFA55BAC6D5BA2EC3FC06E5A395279D043>I<913807FFC0027F13FC0103B67E010F15
E090261FFC0113F8903A3FE0003FFCD97F80EB0FFE49C76C7E48488048486E1380000717
C04980120F18E0177FA2121F7FA27F7F6E14FF02E015C014F802FE4913806C7FDBC00313
009238F007FE6C02F85B9238FE1FF86C9138FFBFF06CEDFFE017806C4BC7FC6D806D8101
0F15E06D81010115FC010781011F81491680EBFFE748018115C048D9007F14E04848011F
14F048487F48481303030014F8484880161F4848020713FC1601824848157F173FA2171F
A2170FA218F8A27F007F17F06D151FA26C6CED3FE0001F17C06D157F6C6CEDFF806C6C6C
010313006C01E0EB0FFE6C01FCEBFFFC6C6CB612F06D5D010F1580010102FCC7FCD9000F
13C0364F7ACD43>I<91380FFF8091B512F8010314FE010F6E7E4901037F90267FF8007F
4948EB3FF048496D7E484980486F7E484980824817805A91C714C05A7013E0A218F0B5FC
A318F8A618FCA46C5DA37EA25E6C7F6C5DA26C5D6C7F6C6D137B6C6D13F390387FF80301
1FB512E36D14C30103028313F89039007FFE03EC00401500A218F05EA3D801F816E0487E
486C16C0487E486D491380A218005E5F4C5A91C7FC6C484A5A494A5A49495B6C48495BD8
03FC010F5B9027FF807FFEC7FC6C90B55A6C6C14F06D14C0010F49C8FC010013F0364F7A
CD43>I<171F4D7E4D7EA24D7EA34C7FA24C7FA34C7FA34C7FA24C7FA34C8083047F8016
7E8304FE804C7E03018116F8830303814C7E03078116E083030F814C7E031F8116808303
3F8293C77E4B82157E8403FE824B800201835D840203834B800207835D844AB87EA24A83
A3DA3F80C88092C97E4A84A2027E8202FE844A82010185A24A820103854A82010785A24A
82010F855C011F717FEBFFFCB600F8020FB712E0A55B547BD366>65
D<BA12C019FEF1FFC01AF01AFCD8000701F0C7000313FFDE007F7F737F070F7F737F8785
87858785A287A84F5BA263616361634F5B4F5B077F90C7FC4E485A060713F892B812E097
C8FC861AF003F0C7000313FE9539003FFF80070F13E0737F07017F87737F747E1C807413
C0A27413E0A31CF0A386A362A31CE0A2621CC0A250138097B5FC1C004F5B19074F5B073F
13F04EB55ABC128098C7FC1AF81AC007F8C8FC54527CD160>I<932601FFFCEC01C0047F
D9FFC013030307B600F81307033F03FE131F92B8EA803F0203DAE003EBC07F020F01FCC7
383FF0FF023F01E0EC0FF94A01800203B5FC494848C9FC4901F882494982494982494982
4949824990CA7E494883A2484983485B1B7F485B481A3FA24849181FA3485B1B0FA25AA2
98C7FC5CA2B5FCAE7EA280A2F307C07EA36C7FA21B0F6C6D1980A26C1A1F6C7F1C006C6D
606C6D187EA26D6C606D6D4C5A6D6D16036D6D4C5A6D6D4C5A6D01FC4C5A6D6DEE7F806D
6C6C6C4BC7FC6E01E0EC07FE020F01FEEC1FF80203903AFFE001FFF0020091B612C0033F
93C8FC030715FCDB007F14E0040101FCC9FC525479D261>I<BA7E19FCF1FF801AF01AFC
D8000701F0C7000F13FF060014C0071F7F070713F807017F737F747E747F747F86747F74
7F8886888688A2757EA31D8087A21DC0A51DE0A387A963A31DC0A51D80A2631D00A3515A
A2646264505B6264505B505B5090C7FCF2FFFE4F5B07075B071F5B96B512C0060F91C8FC
BB5A1AF01AC007FCC9FC19805B527CD167>I<BC1280A5D8000701F8C7000114C0F0001F
19071901851A7F1A3F1A1FA2F20FE0A21A07A31A03A318F81BF01A01A497C7FC1701A317
031707170F177F92B6FCA59238F8007F170F170717031701A317001B3EA31B7CA395C8FC
A21BFCA21BF8A21A01A31A031BF01A071A0FA21A1F1A3FF27FE0F101FF1907191F0603B5
FCBCFCA21BC0A34F517CD058>I<BB12FEA5D8000701F8C700077FF0007F191F19078585
8586861B80A21A1FA31A0FA41BC006F81307A497C7FCA31701A317031707170F177F92B6
FCA59238F8007F170F170717031701A31700A795C9FCB3B812F8A54A517CD055>I<9326
01FFFCEC01C0047FD9FFC013030307B600F81307033F03FE131F92B8EA803F0203DAE003
EBC07F020F01FCC7383FF0FF023F01E0EC0FF94A01800203B5FC494848C9FC4901F88249
49824949824949824949824990CA7E494883A2484983485B1B7F485B481A3FA24849181F
A3485B1B0FA25AA298C8FC5CA2B5FCAE6C057FB712E0A280A36C94C7003FEBC000A36C7F
A36C7FA27E6C7FA26C7F6C7FA26D7E6D7F6D7F6D6D5E6D7F6D01FC93B5FC6D13FF6D6C6D
5C6E01F0EC07FB020F01FEEC1FF10203903AFFF001FFE0020091B6EAC07F033FEE001F03
0703FC1307DB007F02E01301040149CAFC5B5479D26A>I<B8D8C003B8FCA5D8000701F8
C9001FEBE000B3AE92BAFCA503F8C9121FB3B1B8D8C003B8FCA560527CD169>I<B812C0
A5D8000701F8C7FCB3B3B3B2B812C0A52A527CD132>I<027FB71280A591C76C90C7FCB3
B3B3EA07F0EA1FFC487E487EA2B57EA44C5AA34A485B7E49495BD83FF8495BD81FE05DD8
0FFC011F5B2707FF807F90C8FC000190B512FC6C6C14F0011F14C0010101F8C9FC39537D
D145>I<B800C091B612F8A5D8000701F8C90003EBF8009738007F8051C7FC505AF203F8
F20FF0505A505A505A50C8FCF101FCF107F84F5A4F5A4F5A4F5A07FEC9FCF003FC4E5A4E
5A4E5A4E5A4E5ADD01FECAFC4D5A4D5A4D5A4D7E173F4D7E4C487E4C7F5E4C804C804C80
EEFF7F9226F9FE3F7FDBFBFC809226FFF81F7F4C7EDCC0077F0480804C7E4B6D804B6D80
4B8284727F727F8684727F727F8784728087737F85737F87737F85737F88857380747F88
8697B512FCB800C0013FECFFFEA55F527CD169>I<B812F8A5D8000701F8CAFCB3B3A91A
7CA41AFC1AF8A51901A31903A219071AF0190FA2191F193F197F19FF180360183F4DB5FC
BB12E0A546527CD151>I<B600FC073FB512FE6F61A26F96B6FCA2D80007F5C00070EF01
EFA202EF6DEF03CFA202E76DEF078FA202E36DEF0F0FA202E16D171EA302E06D173CA26F
6C1778A26F6C17F0A26F6DED01E0A26F6DED03C0A36F6DED0780A26F6DED0F00A26F6D15
1EA26F6D5DA3706C5DA2706C5DA2706D495AA2706D495AA2706D495AA3706D49C7FCA270
6D131EA2706D5BA2716C5BA3716C5BA271EB81E0A271EBC3C0A271EBE780A27101FFC8FC
A3715BA2715BA2725AA2725AA2D93FFC6F5AB74DB712FEA2725AA2725A77527CD180>I<
B600FC93B7FC8181A282D800076E9239003FFC0070EE07E08282A28202EF7F02E77F02E3
80A202E18002E0806F7F6F7F6F7FA26F7F6F7F6F806F80A26F80707F707F707F707FA270
7F7080708070808583717F717F717F717FA27114807114C07114E07213F07213F8A27213
FC7213FE7213FF721487A27214C77214E77313F77313FF85A285858585A28586868686A2
86868686A2D93FFC187FB7173F1B1F1B0F1B07755A60527CD169>I<93380FFFC00303B6
FC031F15E092B712FC0203D9FC0013FF020F01C0010F13C0023F90C7000313F0DA7FFC02
007F494848ED7FFE4901E0ED1FFF49496F7F49496F7F4990C96C7F49854948707F494870
7FA24849717E48864A83481B804A83481BC0A2481BE04A83A2481BF0A348497113F8A5B5
1AFCAF6C1BF86E5FA46C1BF0A26E5F6C1BE0A36C6D4D13C0A26C6D4D1380A26C1B006C6D
4D5A6E5E6C626D6C4C5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D4B90C7FC6D6D4B5A
6D01FF02035B023F01E0011F13F0020F01FC90B512C0020390B7C8FC020016FC031F15E0
030392C9FCDB001F13E0565479D265>I<BAFC19F819FF1AE086D8000701F0C7001F13FC
060113FF726C13807313C0070F13E01BF0857313F81BFCA27313FEA41BFFA81BFEA31BFC
61A21BF84F13F04F13E0614F13C04F13004E485A061F5B92B812F01AC04FC7FC19E003F8
CBFCB3AEB812C0A550527CD15C>I<B912F0F0FF8019F819FF1AC0D8000701F0C714F006
0F7F060113FE727F737F737F85737F87A2737FA387A863A2616363A24F5B4F5B4F90C8FC
4F5A06035B060F13F095B512C092B8C9FC19F819E019F89226F0000313FE9439007FFF80
727F727F727F727F727F8684A28684A787A71D1C75133EA38575137E73157C7513FC7314
01B86C6D9038F803F807039038FE07F07390B512E0736C14C0080F1400CEEA7FFC5F537C
D164>82 D<91260FFF80130791B500F85B010702FF5B011FEDC03F49EDF07F9026FFFC00
6D5A4801E0EB0FFD4801800101B5FC4848C87E48488149150F001F824981123F4981007F
82A28412FF84A27FA26D82A27F7F6D93C7FC14C06C13F014FF15F86CECFF8016FC6CEDFF
C017F06C16FC6C16FF6C17C06C836C836D826D82010F821303010082021F16801400030F
15C0ED007F040714E01600173F050F13F08383A200788200F882A3187FA27EA219E07EA2
6CEFFFC0A27F6D4B13806D17006D5D01FC4B5A01FF4B5A02C04A5A02F8EC7FF0903B1FFF
C003FFE0486C90B65AD8FC0393C7FC48C66C14FC48010F14F048D9007F90C8FC3C5479D2
4B>I<003FBC1280A59126C0003F9038C0007F49C71607D87FF8060113C001E08449197F
49193F90C8171FA2007E1A0FA3007C1A07A500FC1BE0481A03A6C994C7FCB3B3AC91B912
F0A553517BD05E>I<B800C00103B612FCA5D8000701F8CAEBF000F31F80B3B3B11B3FA2
6D97C7FC81637F1B7E6D6D17FE505A6E7E505A6E6D15076E4D5A6E6D4B5A6E6D4B5A6E01
F84B5A6E6DDA03FFC8FC6E6CB46CEB0FFE6F9039F001FFF8030F90B65A030316C0DB007F
92C9FC040F14F8DC007F13805E537CD167>I<B700FC017FB600FE91B612F0A5D8003F01
C0C8001F01E0C9EBF8006F71EE0FC06D7161876F1C1F6D7196C7FC6F8373606D1E3E6F83
6D7160876F1CFC6D666F4B801F016D66704A806E525A88704A17076E059F5F70021F8008
0F160F6E6570023F806EDC3E074CC8FC8870027E5F6EDC7C03163E7002FC804F6C167E6E
1C7C700101814F6C16FC6E745B70010317016E4C6D5D060716C00580496D14036F63DDC0
0F16E04F6D14076F07F05BDDE01F170F6F92C76C5D1DF8DDF03E6E141F6F98C9FCDDF87E
16FC067C6E5C6FF1FE3EDDFCFC177E6F4A6E147C1DFFDDFFF06E14FC6F62A24E816F62A2
70496F5BA24E817061A295C97E7061A270487090CAFCA37048705AA24D1601040360A270
48705A84537DD18B>87 D<B8030FB61280A5D8000F01FCCA003F90C7FC6FEF07F86D6D60
6D4F5A826D6E4C5A6D4F5A826E6D4CC8FC6E18FE826E6D4B5A6E4D5A826E6D4B5A6E4D5A
836E6E4A5A6E4D5A836F6D4AC9FC6F5E715C6F6D495A6F1503715C6F6D495A6F150F0680
5B6F6E485A6F153F06E05B706D48CAFC705C725A70EBFDFC7013FF61705C82705C618271
5B96CBFCB3AA030FB712F8A561527ED166>89 D<EC7FFF0107B512F0013F14FE90B77E48
D9E00F7F2703FE000113F0486C6D7F6EEB3FFC48826E131F83707FA36C496D7FA26C90C7
FC6C5AC9FCA6037FB5FC020FB6FC91B7FC01071487013FEBF0074913803901FFFC004813
F0485B485B485B4890C7FC5A5BA2485AA45EA26D5C007F151D163D6C6C02797F6C6D01F1
13F86C9026C003E1EBFFE06C9026F81FC014F06C90B5487EC6ED001F011F01FC010713E0
010101E090C8FC3C387CB641>97 D<EB3FF0B5FCA51203C6FCB3A4923801FFE0030F13FE
033FEBFFC092B612F002F301017F913AF7F8003FFEDAFFE0EB0FFF03806D7F92C76C7F4A
6E7F4A824A6E7FA2727EA285A28584A31A80AC1A00A44E5AA36118FF616E4A5BA26E4A5B
6E4A5B6F495BDACFC04990C7FCDA87F0EB7FFC913A03FE03FFF849C6B612E0496D148049
011F01FCC8FC90C7000313C041547BD24B>I<913801FFF8021FEBFF8091B612F0010315
FC010F9038C00FFE903A1FFE0001FFD97FFC491380D9FFF05B4817C048495B5C5A485BA2
486F138091C7FC486F1300705A4892C8FC5BA312FFAD127F7FA27EA2EF03E06C7F17076C
6D15C07E6E140F6CEE1F806C6DEC3F006C6D147ED97FFE5C6D6CEB03F8010F9038E01FF0
010390B55A01001580023F49C7FC020113E033387CB63C>I<4DB47E0407B5FCA5EE001F
1707B3A4913801FFE0021F13FC91B6FC010315C7010F9038E03FE74990380007F7D97FFC
0101B5FC49487F4849143F484980485B83485B5A91C8FC5AA3485AA412FFAC127FA36C7E
A37EA26C7F5F6C6D5C7E6C6D5C6C6D49B5FC6D6C4914E0D93FFED90FEFEBFF80903A0FFF
C07FCF6D90B5128F0101ECFE0FD9003F13F8020301C049C7FC41547CD24B>I<913803FF
C0023F13FC49B6FC010715C04901817F903A3FFC007FF849486D7E49486D7E4849130F48
496D7E48178048497F18C0488191C7FC4817E0A248815B18F0A212FFA490B8FCA318E049
CAFCA6127FA27F7EA218E06CEE01F06E14037E6C6DEC07E0A26C6DEC0FC06C6D141F6C6D
EC3F806D6CECFF00D91FFEEB03FE903A0FFFC03FF8010390B55A010015C0021F49C7FC02
0113F034387CB63D>I<ED3FFC0203B5FC020F14C0023F14E09139FFF81FF0499038C03F
F849EB807F49903800FFFC495A495AA2495AA2EE7FF8495AEE3FF0EE0FC093C7FCAEB712
E0A526007FF8C8FCB3B3A7007FB512FEA52E547CD329>I<DA3FFF14FF0103B5D8F00713
C0010FDAFC1F13E0013FECFF7F90267FFC0F9038FF9FF09026FFE001EBF83F48496C13E0
484990387FF01F4890C7D83FF813E0489338FC0FC0F0078048486E6CC7FCA2003F82A900
1F5EA26C6C4A5AA26C5E6C6D495A6C6D495A6C6D485BDAFC0F5B4890B6C8FCD803EF14FC
01C314F02607C03F90C9FC91CBFCA2120FA37FA213F813FE90B7FC6C16F817FF18C06C83
6C836C836D828448B9FC12074848C700031480D81FF8EC003F4848150748486F13C08348
5A83A56D5D007F18806D5D003F18006C6C4B5AD80FFEED1FFC6C6C6CEC7FF86C01E04948
5A6C01FE011F5B6C6CB71280010F03FCC7FC010115E0D9000F01FCC8FC3C4F7CB543>I<
EB3FF0B5FCA51203C6FCB3A4EE1FFC93B512C0030314F0030F8092391FE07FFC92393F00
1FFE037C8003F07FDAF1E081ECF3C0DAF7807F8502FFC7FC5CA25CA45CB3ACB6D8F807B6
12C0A542537BD24B>I<137F497E000313E0487FA2487FA76C5BA26C5BC613806DC7FC90
C8FCADEB3FF0B5FCA512017EB3B3A6B612E0A51B547BD325>I<EB3FF0B5FCA51203C6FC
B3A54CB512F8A59339003FFE00EF1FF0EF3FC04D5A4DC7FCEE03FEEE07F84C5A4C5AEE7F
C04CC8FC4B5A4B5AED0FF8ED1FE04B7E4B7EECF1FF02F37F02F77F91B6FC83159F030F7F
02FE80DAF8077F4A7E6F7F6F7F83707E82707F84707F707F82707F84707F177F717E4D13
C0B6D8F003B6FCA540537CD247>107 D<EB3FF0B5FCA512017EB3B3B3B1B612F0A51C53
7BD225>I<D93FF0D91FFCEDFFE0B591B500C0010713FE030302F0011F6D7E030F6E017F
8092271FE07FFCD9FF037F922A3F001FFE01F8007F0003027C9126FF03E080C602F06DD9
0780137FDAF1E0038FC77FDAF3C0159EDAF7806D01BC143F07FC8102FFC75C4A5EA24A5E
A44A5EB3ACB6D8F807B6D8C03FB512FEA567367BB570>I<D93FF0EB1FFCB591B512C003
0314F0030F8092391FE07FFC92393F001FFE0003027C80C602F07FDAF1E081ECF3C0DAF7
807F8502FFC7FC5CA25CA45CB3ACB6D8F807B612C0A542367BB54B>I<913801FFE0021F
13FE91B612C0010315F0010F9038807FFC903A1FFC000FFED97FF86D6C7E49486D7F4849
6D7F48496D7F4A147F48834890C86C7EA24883A248486F7EA3007F1880A400FF18C0AC00
7F1880A3003F18006D5DA26C5FA26C5F6E147F6C5F6C6D4A5A6C6D495B6C6D495B6D6C49
5BD93FFE011F90C7FC903A0FFF807FFC6D90B55A010015C0023F91C8FC020113E03A387C
B643>I<903A3FF001FFE0B5010F13FE033FEBFFC092B612F002F301017F913AF7F8007F
FE0003D9FFE0EB1FFFC602806D7F92C76C7F4A824A6E7F4A6E7FA2717FA285187F85A472
1380AC1A0060A36118FFA2615F616E4A5BA26E4A5B6E4A5B6F495B6F4990C7FC03F0EBFF
FC9126FBFE075B02F8B612E06F1480031F01FCC8FC030313C092CBFCB1B612F8A5414D7B
B54B>I<90397FE003FEB590380FFF80033F13E04B13F09238FE1FF89139E1F83FFC0003
D9E3E013FEC6ECC07FECE78014EF150014EE02FEEB3FFC5CEE1FF8EE0FF04A90C7FCA55C
B3AAB612FCA52F367CB537>114 D<903903FFF00F013FEBFE1F90B7FC120348EB003FD8
0FF81307D81FE0130148487F4980127F90C87EA24881A27FA27F01F091C7FC13FCEBFFC0
6C13FF15F86C14FF16C06C15F06C816C816C81C681013F1580010F15C01300020714E0EC
003F030713F015010078EC007F00F8153F161F7E160FA27E17E07E6D141F17C07F6DEC3F
8001F8EC7F0001FEEB01FE9039FFC00FFC6DB55AD8FC1F14E0D8F807148048C601F8C7FC
2C387CB635>I<143EA6147EA414FEA21301A313031307A2130F131F133F13FF5A000F90
B6FCB8FCA426003FFEC8FCB3A9EE07C0AB011FEC0F8080A26DEC1F0015806DEBC03E6DEB
F0FC6DEBFFF86D6C5B021F5B020313802A4D7ECB34>I<D93FF8913801FFC0B50207B5FC
A50003ED001FC61607B3AE5FA35FA2017F5D173B177B6D6C14F3DC01E313F06D6CD907C3
EBFFC0903A0FFFC03F836D90B51203010114FE6D6C13F8020701E091C7FC42377BB54B>
I<B600F00107B5FCA5000101F8C8EA7FE06C6DED3F00A2017F163E6E157E013F167C6E15
FC6D5E6F13016D5E8117036D5E6F13076D5E6F130F6D5E6F131F6D93C7FC815F6E6C133E
177E023F147C6F13FC6E5C16816E5C16C3A26EEBE3E016E76E5C16FF6E5CA26E91C8FCA2
6F5AA36F5AA26F5AA26F5AA26F5A6F5A40367DB447>I<B6D8E07FB5D8C003B512C0A500
0101F0C701F0C7381FF8006E027FED07E06C715DA26E023F150F017F705DA26E181F013F
4B6C92C7FC6E606D70143E94B5FC6F177E6D4A6E137C03C001F315FC6D715B160303E001
E114016D020702E05B03F013C06D71485A160F03F8D9807F13076D05F85B93381F003F03
FC160F027F4902FC5BDBFE3E011F131F023F04FE90C8FC167EDBFF7C010F5B6E01FCECFF
3E4C6D137E6E5FA24C7F6E5F4C7F6E5FA24C7F6E5F4C147FA26E5F93C8123F6F5EA2033E
6FC9FC5A367DB461>I<007FB500F090387FFFFEA5C66C48C7000F90C7FC6D6CEC07F86D
6D5C6D6D495A6D4B5A6F495A6D6D91C8FC6D6D137E6D6D5B91387FFE014C5A6E6C485A6E
EB8FE06EEBCFC06EEBFF806E91C9FCA26E5B6E5B6F7E6F7EA26F7F834B7F4B7F92B5FCDA
01FD7F03F87F4A486C7E4A486C7E020F7FDA1FC0804A486C7F4A486C7F02FE6D7F4A6D7F
495A49486D7F01076F7E49486E7E49486E7FEBFFF0B500FE49B612C0A542357EB447>I<
B600F00107B5FCA5C601F8C8EA7FE06EED3F00A26D6C153E187E013F167C6E15FC6D5E6F
13016D5E6F13036D5E8117076D6D5C170F6D6D5C171F6D93C7FC6F5B027F143E6F137E02
3F147C6F13FCA26E6D5A16816EEBC1F016C36E5C16E76E5C16FF6E5CA26E91C8FCA36F5A
A26F5AA26F5AA26F5AA26F5AA35E150F5E151F93C9FC5DD81FC0133E486C137E486C137C
486C13FC5D14015D14034A5A6C48485A49485A263FC07FCAFCEB81FE6CB45A6C13F00003
5BC690CBFC404D7DB447>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fs cmr10 10.95 85
/Fs 85 125 df<4AB4EB0FE0021F9038E03FFC913A7F00F8FC1ED901FC90383FF03FD907
F090397FE07F80494801FF13FF4948485BD93F805C137F0200ED7F00EF003E01FE6D91C7
FC82ADB97EA3C648C76CC8FCB3AE486C4A7E007FD9FC3FEBFF80A339407FBF35>11
D<EC03FE91383FFF809138FE03E0903903F800F0D90FE013384948137C90393F8001FE90
387F00035B5BA2485A6F5AED007093C7FCAA16FEB7FCA33901FC000315011500B3AC486C
497EB5D8F87F13FCA32E407EBF33>I<EC03FF023F13EE9138FE01FEEB03F090380FE003
EB1FC0EB3F80EB7F005B5B150148481300AEB7FCA3D801FCC7FCB3AE486C497EB5D8F87F
13FCA32E407EBF33>I<DA03FE49B4FC91273FFF801F13C0913BFE03E07F01F0903C03F0
00F1FC0078D90FE0D97FF0131C49484948133E4948484913FF494848495A5B491500A248
485C03016E5A0300153896C7FCAA197FBBFCA3D801FCC738FE00018485B3AC486C496CEC
FF80B5D8F87FD9FC3F13FEA347407EBF4C>I<001E130F397F803FC000FF137F01C013E0
A201E013F0A3007F133F391E600F3000001300A401E01370491360A3000114E04913C000
03130101001380481303000EEB070048130E0018130C0038131C003013181C1C7DBE2D>
34 D<4B6C130C4B6C131EA20307143EA24C133CA2030F147CA293C71278A24B14F8A203
1E5CA2033E1301A2033C5CA3037C1303A203785CA203F81307A24B5CA20201140F007FBA
FCBB1280A26C1900C72707C0003EC8FC4B133CA3020F147CA292C71278A24A14F8A2021E
5CA3023E1301007FBAFCBB1280A26C1900C727F80007C0C8FC4A5CA20101140FA24A91C9
FCA301035CA24A131EA20107143EA24A133CA2010F147CA291C71278A34914F8A2011E5C
A2013E1301A2013C5CA201186D5A41517BBE4C>I<14E0A4EB07FC90383FFF8090B512E0
3901F8E3F03903E0E0FCD807C0133CD80F807FD81F007F003E80003C1580007C140316C0
0078141F00F8143F157FA47EED3F806CEC0E0092C7FC127F138013C0EA3FF013FEEA1FFF
6C13FC6C13FF6C14C06C806C6C13F8011F7F130301007FECE7FF14E102E01380157F153F
ED1FC0A2003E140F127FD8FF801307A5130000FC158000F0140F1270007815005D6C141E
153E6C5C6C5C3907C0E1F03903F8EFE0C6B51280D93FFEC7FCEB0FF8EB00E0A422497BC3
2D>I<EC0F80EC7FE0ECF870903803E0380107133CECC01CEB0F80011F131E150EA2EB3F
00A55D1480A25D157815705D6D6C5A14C1ECC38002C7CAFC02EE91387FFFFCEB0FEC14FC
4A020713C06D48913801FE006E5DEF00F06D7E01074B5A496C5D011D1503D939FF4A5A01
7093C7FC496D5B0001017F140E496C6C131E00036E131C2607801F143C000F6E5B001F6D
6C1370263F000714F0486E485ADA03FE5B913801FF03486D495A0487C8FCED7FCFED3FFE
6F4814386D5C150F007F6E6C14786D6D6C1470003F4A6C14F06D496C6C13E0001F91393E
3FC0016C6C903AFC1FF003C03D07FC07F007FC1F800001B5D8C001B512006C6C90C7EA7F
FCD90FF8EC0FF03E437CC047>38 D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A4
13E013C0A312011380120313005A120E5A1218123812300B1C79BE19>I<1430147014E0
EB01C0EB03801307EB0F00131E133E133C5B13F85B12015B1203A2485AA2120F5BA2121F
90C7FCA25AA3123E127EA6127C12FCB2127C127EA6123E123FA37EA27F120FA27F1207A2
6C7EA212017F12007F13787F133E131E7FEB07801303EB01C0EB00E014701430145A77C3
23>I<12C07E12707E7E121E7E6C7E7F12036C7E7F12007F1378137CA27FA2133F7FA214
80130FA214C0A3130714E0A6130314F0B214E01307A614C0130FA31480A2131F1400A25B
133EA25BA2137813F85B12015B485A12075B48C7FC121E121C5A5A5A5A145A7BC323>I<
EB03C0A2805CA600F0140F00FC143F00FE147F00FF14FF393FC3C3FC390FE187F03903F1
8FC03900FDBF00EB3FFCEB0FF0EB03C0EB0FF0EB3FFCEBFDBF3903F18FC0390FE187F039
3FC3C3FC39FF03C0FF00FE147F00FC143F00F0140F00001400A6805CA220277AC32D>I<
121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313005A12
0E5A1218123812300B1C798919>44 D<B512FEA617067F961E>I<121EEA7F80A2EAFFC0
A4EA7F80A2EA1E000A0A798919>I<ED0180ED03C01507A21680150FA216005DA2151E15
3EA2153C157CA2157815F8A25D1401A25D1403A25D1407A25D140FA24AC7FCA2141E143E
A2143C147CA2147814F8A25C1301A25C1303A25C1307A25C130FA291C8FC5BA2131E133E
A25BA2137813F8A25B1201A25B1203A25B1207A25B120FA290C9FC5AA2121E123EA2123C
127CA2127812F8A25A1260225B7BC32D>I<EB01FE90380FFFC090383F03F090387C00F8
49137C48487F48487F4848EB0F80A2000F15C04848EB07E0A3003F15F0A290C712034815
F8A64815FCB3A26C15F8A56C6CEB07F0A3001F15E0A36C6CEB0FC0A26C6CEB1F80000315
006C6C133E6C6C5B017C5B90383F03F090380FFFC0D901FEC7FC263F7DBC2D>I<EB01C0
13031307131F137FEA07FFB5FC139FEAF81F1200B3B3ACEB7FF0B612F8A31D3D78BC2D>
I<EB07FC90383FFF8090B512E03903F01FF83907C007FC390F0001FE001E6D7E001C1580
003CEC7FC05AED3FE01270B4FC6DEB1FF07FA56C5A6CC7FC120CC813E0153FA216C0157F
168015FF16004A5A5D4A5A4A5A5D4A5A4A5A4AC7FC147E147C5C495A495A495A495A49C7
1270133E133C5B4914E0485A485A485A48C7120148B6FCA25A4815C0B7FCA3243D7CBC2D
>I<EB07FC90383FFF809038F80FE03901E003F839078001FCD80F007F000E6D7E001E15
80D81F80137F486C14C07FA27F5BA2121F6C5AC8138015FF1600A24A5AA24A5A5DEC07E0
4A5A023FC7FCEB1FFCECFF809038000FE0EC07F86E7E6E7E6E7E1680ED7FC0A216E0153F
A216F0A2120C123F487E487EA316E0A249137F6CC713C01278EDFF807E6C4913006C495A
3907C007FC3903F80FF0C6B55A013F1380D907F8C7FC243F7CBC2D>I<150E151E153EA2
157EA215FE1401A21403EC077E1406140E141CA214381470A214E0EB01C0A2EB0380EB07
00A2130E5BA25B5BA25B5B1201485A90C7FC5A120E120C121C5AA25A5AB8FCA3C8EAFE00
AC4A7E49B6FCA3283E7EBD2D>I<00061403D80780131F01F813FE90B5FC5D5D5D15C092
C7FC14FCEB3FE090C9FCACEB01FE90380FFF8090383E03E090387001F8496C7E49137E49
7F90C713800006141FC813C0A216E0150FA316F0A3120C127F7F12FFA416E090C7121F12
FC007015C012780038EC3F80123C6CEC7F00001F14FE6C6C485A6C6C485A3903F80FE0C6
B55A013F90C7FCEB07F8243F7CBC2D>I<EC1FE0ECFFF8903803F03E90380FC00F90391F
000780133E017EEB1FC049133F4848137F12035B12074848EB3F80ED1F00001F91C7FC5B
A2123FA3485AA214FE903887FF8039FF8F07E090389C01F09038B800FC01B0137E13F049
7F16804914C0A2ED1FE0A34914F0A5127FA6123F6D14E0A2121FED3FC0A26C6C1480A200
07EC7F006C6C137E6C6C5B6C6C485A90387E07F06DB45A010F1380D903FCC7FC243F7CBC
2D>I<1238123C123F90B612FCA316F85A16F016E00078C712010070EC03C0ED07801600
5D48141E151C153C5DC8127015F04A5A5D14034A5A92C7FC5C141EA25CA2147C147814F8
A213015C1303A31307A3130F5CA2131FA6133FAA6D5A0107C8FC26407BBD2D>I<EB03FC
90381FFF8090387C07E09038F001F83901E0007C48487F48487F48C7FCED0F80121E16C0
003E1407A4123FA26DEB0F807F6C6C131F6D140001FC133E6C6C5B9038FF80786C6D5A6C
EBF3E06CEBFF806C91C7FC133F6D13C06D7F013F13F801787F48486C7E3903E01FFF4848
6C1380260F800313C048487E489038007FE0003E143F007E141F007CEC0FF01507481403
A31501A46C15E0007C1403A2007E15C06C14076CEC0F806DEB1F006C6C133ED807F05B39
01FC03F86CB512E0011F1380D903FCC7FC243F7CBC2D>I<EB03FCEB1FFF90387E07C090
38FC03F048486C7E48486C7E4848137C000F147E4848137F81003F15805B007F15C0A215
1F12FF16E0A516F0A5127F153FA36C7EA2001F147F120F6C6C13FF6D13DF000313013900
F8039F90387E0F1FD91FFE13E0EB07F090C7FCA2ED3FC0A41680157FD80F801400487E48
6C13FEA24A5A5D49485AEB8007391E000FE0001F495A260FC07FC7FC3803FFFE6C13F838
003FC0243F7CBC2D>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FCB3121EEA7F80A2
EAFFC0A4EA7F80A2EA1E000A2779A619>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7
FCB3121E127FEAFF80A213C0A4127F121E1200A412011380A3120313005A1206120E120C
121C5A1230A20A3979A619>I<007FB912E0BA12F0A26C18E0CDFCAE007FB912E0BA12F0
A26C18E03C167BA147>61 D<15074B7EA34B7EA34B7EA34B7EA34B7E15E7A2913801C7FC
15C3A291380381FEA34AC67EA3020E6D7EA34A6D7EA34A6D7EA34A6D7EA34A6D7EA34948
6D7E91B6FCA249819138800001A249C87EA24982010E157FA2011E82011C153FA2013C82
0138151FA2017882170F13FC00034C7ED80FFF4B7EB500F0010FB512F8A33D417DC044>
65 D<B712FCEEFF8017F00001903980000FF86C6CC7EA03FE707E701380EF7FC0EF3FE0
A2EF1FF0A218F8A3170F171FA318F0A2EF3FE0177F18C0EFFF804C1300EE03FCEE0FF8EE
7FE091B6C7FC17E091C7EA07FCEE01FE933800FF80EF7FC0EF3FE0EF1FF018F8170F18FC
1707A218FEA718FC170FA2EF1FF818F0173FEF7FE0EFFFC00403138048486C90380FFE00
B85A17E094C7FC373E7DBD40>I<DB3FF01306912603FFFE130E020F9038FF801E913A3F
F007E03E9139FF8000F8D903FEC7EA7C7ED907F8EC1EFE4948140FD93FE0140749481403
495A91C812014848150012034848167E5B000F173EA24848161EA2123F5B180E127FA349
160012FFAC127F7F180EA2123FA27F001F171E181C6C7EA20007173C6D16386C6C167800
0117706C6C16F06EEC01E06D6C15C06D6C1403D90FF0EC07806D6CEC1F00D903FE143E90
2600FF8013F891393FF007F0020FB512C0020391C7FC9138003FF037427BBF42>I<B712
FCEEFF8017E000019039C0001FF86C6C48EB03FEEE00FF717E717EEF0FE084717E717E17
0184717EA21980187F19C0A3F03FE0A519F0AB19E0A5F07FC0A21980A218FF19004D5AA2
4D5A6017074D5A4D5AEF7FC04DC7FCEE03FE48486CEB1FF8B85A178004FCC8FC3C3E7DBD
45>I<B912E0A300019038C000016C6C48EB001FEF0FF01703A217011700A31870A41838
1638A41800A21678A216F81501150791B5FCA3EC8007150115001678A21638A2180EA318
1C93C7FCA4183C1838A21878A318F8EF01F0A21707170F173F48486CEB03FFB912E0A337
3E7DBD3E>I<B91280A300019038C000036C6C48EB007FEF1FC0170F1707A21703A31701
A4EF00E0A21638A31800A31678A216F81501150791B5FCA3EC8007150115001678A21638
A693C8FCAF3801FFE0B612F0A3333E7DBD3B>I<DB3FE0130C912603FFFE131C021F9038
FF803C913A7FF00FC07C9139FF0001F0D903FC90380078FC4948143DD91FE0141F494814
0F4948140701FF15034890C8FC491501485A000716005B000F177C5B001F173CA2485AA2
181C127FA25B95C7FC12FFAB041FB512F0127FA26D9139000FFE00EF03FC123FA27F121F
A26C7EA212077F12036C7E7F6C7F6D6C14076D7E6D6C140FD907F8141ED903FEEC3C7C90
2600FF80EBF83C913A7FF007F01C021FB5EAC00C020391C8FC9138003FF03C427BBF47>
I<B6D8C01FB512F8A3000101E0C7383FFC0026007F80EC0FF0B3A691B7FCA30280C7120F
B3A92601FFE0EC3FFCB6D8C01FB512F8A33D3E7DBD44>I<B612F0A3C6EBF000EB3FC0B3
B3B2EBFFF0B612F0A31C3E7EBD21>I<011FB512FCA3D9000713006E5A1401B3B3A6123F
EA7F80EAFFC0A44A5A1380D87F005B007C130700385C003C495A6C495A6C495A2603E07E
C7FC3800FFF8EB3FC026407CBD2F>I<B600C090387FFFFCA3000101E0C7000F13802600
7F80913807FE0018F818E0604D5A4DC7FC173E5F5F4C5A4C5A4C5A4C5A4CC8FC163E5E5E
4B5A4B5AED07804B7E151F4B7E4B7E15FF913881EFF8913883C7FCEC878791388F03FE91
389E01FF14BCDAF8007F4A6D7E5C4A6D7E4A6D7EA2707E707EA2707E707EA2707F717E84
173F717E717EA2717E848419802601FFE04A13C0B600C090B6FCA3403E7DBD47>I<B612
F8A3000101E0C9FC38007F80B3B0EF0380A517071800A45FA35FA25F5F5F4C5A16074848
6C133FB8FCA3313E7DBD39>I<B500C093B512C0A300016D4BEBE000D8007F1880D977F0
ED03BFA3D973F8ED073FA3D971FC150EA2D970FE151CA3027F1538A36E6C1470A36E6C14
E0A26E6CEB01C0A36E6CEB0380A36E6CEB0700A26E6C130EA36E6C5BA3037F5BA26F6C5A
A36F6C5AA392380FE1C0A3923807F380A26FB4C7FCA36F5AA213F8486C6D5AD807FFEFFF
E0B500F80178017FEBFFC0A34A3E7CBD53>I<B56C91B512F88080D8007F030713006EEC
01FC6E6E5A1870EB77FCEB73FEA2EB71FF01707FA26E7E6E7EA26E7E6E7EA26E7E6E7EA2
6E7E6E7FA26F7E6F7EA26F7E6F7EA26F7E6F7EA26F7E6F1380A2EE7FC0EE3FE0A2EE1FF0
EE0FF8A2EE07FCEE03FEA2EE01FF7013F0A2177F173FA2171F170FA2170701F81503487E
D807FF1501B500F81400A218703D3E7DBD44>I<ED7FE0913807FFFE91391FC03F809139
7E0007E04948EB03F8D907F0EB00FE4948147F49486E7E49486E7E49C86C7E01FE6F7E00
018349150300038348486F7EA248486F7EA2001F188049167F003F18C0A3007F18E04916
3FA300FF18F0AC007F18E06D167FA4003F18C0A26C6CEEFF80A36C6C4B1300A26C6C4B5A
00035F6D150700015F6C6C4B5A6D5E6D6C4A5A6D6C4A5A6D6C4AC7FC6D6C14FED901FCEB
03F8D9007FEB0FE091391FC03F80912607FFFEC8FC9138007FE03C427BBF47>I<B712F8
EEFF8017E000019039C0003FF86C6C48EB07FCEE01FE707EEF7F80EF3FC018E0A2EF1FF0
A218F8A818F0A2EF3FE0A218C0EF7F80EFFF004C5AEE07FCEE3FF091B612C04CC7FC0280
C9FCB3A73801FFE0B612C0A3353E7DBD3E>I<ED7FE0913807FFFE91391FC03F8091397F
000FE0D901FCEB03F8D907F0EB00FE4948147F49486E7E49486E7E49C86C7E498248486F
7E49150300038348486F7EA2000F834981001F1880A24848EE7FC0A3007F18E0A249163F
A200FF18F0AC007F18E0A26D167FA3003F18C0A26C6CEEFF80A3000F18006D5D0007DA0F
805B6C6C90393FE003FCED70706C6C496C485A6C6C48486C485A017FD9800E5BD93F8190
38061FC0D91FC19038073F80D90FE14AC7FCD907F1EB03FE902601FDC013F8903A007EE0
07E091271FF03FC013180207B5FC9139007FE1E0DB0001143883711378A2706C13F0EFFF
0318FFA27113E0A37113C0711380711300715AEF01F83D527BBF47>I<B712C016FCEEFF
800001D9C00013E06C6C48EB1FF0EE07FCEE01FE707E84717EA2717EA284A760177F6060
17FF95C7FCEE01FCEE07F8EE1FE0EEFF8091B500FCC8FC16F091388001FCED003FEE1FC0
707E707E83160383160183A383A484A4F0C004190EA28218E0057F131E2601FFE0161CB6
00C0EB3FF094381FF83805071370CA3801FFE09438003F803F407DBD43>I<D907FC1318
90391FFF8038017FEBE0783901FC03F83A03F0007CF8D807C0133F4848130F001F140748
C7FC003E1403007E1401A2007C140012FC1678A46C1538A27EA26C6C14007F7FEA3FF8EB
FF806C13F86CEBFF806C14F06C14FC6C14FF6C15C0013F14E0010714F0EB007F020713F8
9138007FFC150FED07FE15031501ED00FFA200E0157FA3163FA27EA3163E7E167E6C157C
6C15FC6C15F86D13016DEB03F06DEB07E0D8F9FCEB0FC03AF07F803F8090391FFFFE00D8
E00713F839C0007FC028427BBF33>I<003FB91280A3903AF0007FE001018090393FC000
3F48C7ED1FC0007E1707127C00781703A300701701A548EF00E0A5C81600B3B14B7E4B7E
0107B612FEA33B3D7DBC42>I<B600C090B512F8A3000101E0C70007130026007F80EC01
FC715A1870B3B3A4013F16F06E5DA21701011F5E80010F15036E4A5A010793C7FC6D6C5C
6D6C141E6D6C5C027F14F86E6C485A91390FF00FE00203B51280020049C8FCED1FF03D40
7DBD44>I<B691380FFFFEA3000301E0020113E06C01809138007F806CEF3F00017F163E
181C6E153C013F1638A26E1578011F1670A26D6C5DA26E140101075EA26E140301035EA2
6D6C4AC7FCA2806D150EA26F131E027F141CA26F133C023F1438A26E6C5BA26F13F0020F
5CA2EDF80102075CA26E6C485AA2EDFE07020191C8FCA26F5A6E130EA2ED7F9CA216DCED
3FF8A36F5AA36F5AA26F5AA36F5A3F407EBD44>I<B500FE017FB5D88007B5FCA3000301
C0010101E0C713F86C90C849EC3FE07148EC0F807E7215006E143F017F190E84A26D6C60
A24D7E6D6C60A2EFE7F86D6C60A2933801C3FC6E18F001076104037F6E02811401010361
04077F17006D6C4D5AA2040EEB7F806D6C4DC7FCA24CEB3FC0DA7F80160EA24CEB1FE003
C0161E023F171C047814F0DBE070010F133C021F173804F014F84C1307DA0FF05EA2DBF1
C0EB03FCDA07F95EA2DBFB80EB01FEDA03FF6F5AA293C8FCA26E5FA24B157F020094C8FC
A24B81037C153EA20378151E0338151C58407EBD5D>I<007FB5D8C003B512E0A3C649C7
EBFC00D93FF8EC3FE06D48EC1F806D6C92C7FC171E6D6C141C6D6C143C5F6D6C14706D6D
13F04C5ADA7FC05B023F13036F485ADA1FF090C8FC020F5BEDF81E913807FC1C163C6E6C
5A913801FF7016F06E5B6F5AA26F7E6F7EA28282153FED3BFEED71FF15F103E07F913801
C07F0203804B6C7EEC07004A6D7E020E6D7E5C023C6D7E02386D7E14784A6D7E4A6D7F13
0149486E7E4A6E7E130749C86C7E496F7E497ED9FFC04A7E00076DEC7FFFB500FC0103B5
12FEA33F3E7EBD44>I<B66C0103B51280A3000101F0C8EBF8006C6C48ED3FC0725A013F
041EC7FC6D7E606D6C15386D6C1578606D6C5D6E14016D5E6D6D1303606E6C49C8FC6E6C
5B170E6E6C131E171C6E6C5B6E6C137817706E6C13F06F5B6E13016EEB83C05FED7FC7DB
3FE7C9FC16EFED1FFE5E150F6F5AB3A4ED1FFC020FB512FCA3413E7FBD44>I<EAFFFCA4
EAF000B3B3B3B3ABEAFFFCA40E5B77C319>91 D<486C13C0000313010100138048130300
0EEB070048130E0018130C0038131C003013180070133800601330A300E01370481360A4
00CFEB678039FFC07FE001E013F0A3007F133FA2003F131F01C013E0390F0007801C1C73
BE2D>I<EAFFFCA4EA003CB3B3B3B3ABEAFFFCA40E5B7FC319>I<EA0180120313005A120E
5A12181238123012701260A312E05AA412CFEAFFC013E0A3127FA2123F13C0EA0F000B1C
7ABE19>96 D<EB0FF8EBFFFE3903F01F8039078007E0000F6D7E9038E001F8D81FF07F6E
7EA3157F6C5AEA0380C8FCA4EC1FFF0103B5FC90381FF87FEB7F803801FC00EA07F8EA0F
E0485A485AA248C7FCEE038012FEA315FFA3007F5BEC03BF3B3F80071F8700261FC00E13
CF3A07F03C0FFE3A01FFF807FC3A003FC001F0292A7DA82D>I<EA01FC12FFA312071203
1201B1EC03FC91381FFF8091387C07E09039FDE001F09039FFC000FC4A137E91C77E4915
8049141F17C0EE0FE0A217F0A2160717F8AA17F0A2160FA217E0161F17C06D1580EE3F00
6D5C6E13FE9039F3C001F89039F1E003F09039E0780FC09026C03FFFC7FCC7EA07F82D40
7EBE33>I<49B4FC010F13E090383F00F8017C131E4848131F4848137F0007ECFF80485A
5B121FA24848EB7F00151C007F91C7FCA290C9FC5AAB6C7EA3003FEC01C07F001F140316
806C6C13076C6C14000003140E6C6C131E6C6C137890383F01F090380FFFC0D901FEC7FC
222A7DA828>I<ED01FC15FFA3150715031501B114FF010713E190381F80F990387E003D
49131FD803F81307485A49130348481301121F123F5B127FA290C7FCA25AAA7E7FA2123F
A26C7E000F14037F000714076C6C497E6C6C497ED8007C017913F890383F01F190380FFF
C1903A01FE01FC002D407DBE33>I<EB01FE90380FFFC090383F03F09038FC01F848486C
7E4848137E48487F000F158049131F001F15C04848130FA2127F16E090C7FCA25AA290B6
FCA290C9FCA67EA27F123F16E06C7E1501000F15C06C6C13036DEB07806C6C1400C66C13
1E017E5B90381F80F8903807FFE0010090C7FC232A7EA828>I<EC1FC0EC7FF8903801F8
3C903807E07E90380FC0FFEB1FC1EB3F811401137FEC00FE01FE137C1500AEB6FCA3C648
C7FCB3AE487E007F13FFA320407EBF1C>I<167C903903F801FF903A1FFF078F8090397E
0FDE1F9038F803F83803F001A23B07E000FC0600000F6EC7FC49137E001F147FA8000F14
7E6D13FE00075C6C6C485AA23901F803E03903FE0FC026071FFFC8FCEB03F80006CAFC12
0EA3120FA27F7F6CB512E015FE6C6E7E6C15E06C810003813A0FC0001FFC48C7EA01FE00
3E140048157E825A82A46C5D007C153E007E157E6C5D6C6C495A6C6C495AD803F0EB0FC0
D800FE017FC7FC90383FFFFC010313C0293D7EA82D>I<EA01FC12FFA3120712031201B1
EC01FE913807FFC091381E07E091387803F09138E001F8D9FDC07F148001FF6D7E91C7FC
A25BA25BB3A6486C497EB5D8F87F13FCA32E3F7DBE33>I<EA01E0EA07F8A2487EA46C5A
A2EA01E0C8FCACEA01FC127FA3120712031201B3AC487EB512F0A3143E7DBD1A>I<1478
EB01FEA2EB03FFA4EB01FEA2EB00781400AC147FEB7FFFA313017F147FB3B3A5123E127F
38FF807E14FEA214FCEB81F8EA7F01387C03F0381E07C0380FFF803801FC00185185BD1C
>I<EA01FC12FFA3120712031201B292B51280A392383FFC0016E0168093C7FC153C5D5D
4A5AEC07C04A5A4AC8FC143E147F4A7E13FD9038FFDFC0EC9FE0140F496C7E01FC7F496C
7E1401816E7E81826F7E151F826F7EA282486C14FEB539F07FFFE0A32B3F7EBE30>I<EA
01FC12FFA3120712031201B3B3B1487EB512F8A3153F7DBE1A>I<2701F801FE14FF00FF
902707FFC00313E0913B1E07E00F03F0913B7803F03C01F80007903BE001F87000FC2603
F9C06D487F000101805C01FBD900FF147F91C75B13FF4992C7FCA2495CB3A6486C496CEC
FF80B5D8F87FD9FC3F13FEA347287DA74C>I<3901F801FE00FF903807FFC091381E07E0
91387803F000079038E001F82603F9C07F0001138001FB6D7E91C7FC13FF5BA25BB3A648
6C497EB5D8F87F13FCA32E287DA733>I<14FF010713E090381F81F890387E007E01F813
1F4848EB0F804848EB07C04848EB03E0000F15F04848EB01F8A2003F15FCA248C812FEA4
4815FFA96C15FEA36C6CEB01FCA3001F15F86C6CEB03F0A26C6CEB07E06C6CEB0FC06C6C
EB1F80D8007EEB7E0090383F81FC90380FFFF0010090C7FC282A7EA82D>I<3901FC03FC
00FF90381FFF8091387C0FE09039FDE003F03A07FFC001FC6C496C7E6C90C7127F49EC3F
805BEE1FC017E0A2EE0FF0A3EE07F8AAEE0FF0A4EE1FE0A2EE3FC06D1580EE7F007F6E13
FE9138C001F89039FDE007F09039FC780FC0DA3FFFC7FCEC07F891C9FCAD487EB512F8A3
2D3A7EA733>I<02FF131C0107EBC03C90381F80F090397F00387C01FC131CD803F8130E
4848EB0FFC150748481303121F485A1501485AA448C7FCAA6C7EA36C7EA2001F14036C7E
15076C6C130F6C7E6C6C133DD8007E137990383F81F190380FFFC1903801FE0190C7FCAD
4B7E92B512F8A32D3A7DA730>I<3901F807E000FFEB1FF8EC787CECE1FE3807F9C10003
1381EA01FB1401EC00FC01FF1330491300A35BB3A5487EB512FEA31F287EA724>I<9038
3FC0603901FFF8E03807C03F381F000F003E1307003C1303127C0078130112F81400A27E
7E7E6D1300EA7FF8EBFFC06C13F86C13FE6C7F6C1480000114C0D8003F13E0010313F0EB
001FEC0FF800E01303A214017E1400A27E15F07E14016C14E06CEB03C0903880078039F3
E01F0038E0FFFC38C01FE01D2A7DA824>I<131CA6133CA4137CA213FCA2120112031207
001FB512C0B6FCA2D801FCC7FCB3A215E0A912009038FE01C0A2EB7F03013F138090381F
8700EB07FEEB01F81B397EB723>I<D801FC14FE00FF147FA30007140300031401000114
00B3A51501A31503120015076DEB06FF017E010E13806D4913FC90381FC078903807FFE0
0100903880FE002E297DA733>I<B539E00FFFE0A32707FE000313006C48EB00FC5E0001
5D7F00005DA26D13016D5CA26D6C485AA2ECC007011F91C7FCA290380FE00EA2ECF01E01
07131CA26D6C5AA2ECFC7801011370A2ECFEF001005BA2EC7FC0A36E5AA26EC8FCA3140E
2B287EA630>I<B53BC3FFFE03FFF8A3290FFE003FE00013C06C486D48EB3F806C481700
6D010F141E00016F131C15076D163C00004A6C1338A2017F5E4B7E151DD93F805DED3DFC
1538D91FC04A5AED78FE9238707E03D90FE0017F5BEDE03F02F0140701070387C7FC9138
F1C01F02F9148F010315CE9138FB800F02FF14DE6D15FCED00076D5DA24A1303027E5CA2
027C1301023C5C023813003D287EA642>I<B539F01FFFE0A30003D9C00F1300C6903880
07F8D97F0013E002805BD93FC05B011F49C7FC90380FE00EECF01E6D6C5A01035B6D6C5A
6E5AEB00FF6E5A6E5A81141F814A7E81147BECF1FC903801E1FEECC0FF01037F49486C7E
D90F007F011E6D7E013E130F496D7E01FC80486C80000F4A7EB539803FFFF8A32D277FA6
30>I<B539E00FFFE0A32707FE000313006C48EB01FC6F5A00015D7F00005DA2017F495A
A2EC8003013F5CA26D6C48C7FCA26E5A010F130EA26D6C5AA2ECF83C01031338A26D6C5A
A2ECFEF001005BA2EC7FC0A36E5AA36EC8FCA2140EA2141E141C143C1438A21478001813
70127EB45BA2495AA248485AD87E07C9FCEA780EEA3C3CEA1FF8EA07E02B3A7EA630>I<
001FB61280A2EBE0000180140049485A001E495A121C4A5A003C495A141F00385C4A5A14
7F5D4AC7FCC6485AA2495A495A130F5C495A90393FC00380A2EB7F80EBFF005A5B484813
071207491400485A48485BA248485B4848137F00FF495A90B6FCA221277EA628>I<BE12
C0A25A0280985B>124 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ft cmtt12 20.736 5
/Ft 5 115 df<923807FFC0033F13FC4AB67E020715E0021F15F8027F8191B8FC010383
498349834949C6804901F0130F49018001037F90B5C87F02FC157F48496F7E4849151F4A
6F7E485B4A6F1380488391C914C0485A84484818E0A24982127FA24918F0A200FF187FA2
90BAFCA71AE0A21A8001F0CCFCA2127FA37F123F7FA2121F6DEF0F806DEF3FE07E6EEE7F
F06C7F6C6D16FF806C6D4B13E06C6D5D6E4B13C06D6C6C141F6D01E04A13806D01FC49B5
FC6D9026FFC01F14006D91B65A6D5F6D5F6D6C5E6E16C0020F5E02034BC7FC020015F003
1F14C0030101F8C8FC444D76CB59>101 D<943803FFF0053F13FE4CB61280040715E05E
043F15F05E4BB712F85D5D4DC6FC4B13E04B49EB7FF094C7FC4CEC3FE04B48EC0F8096C7
FC4B5A5EAE001FB912FC4818FF5ABB1280A46C1900A2001F18FCC8D87FF0C9FCB3B3B200
07B9FC001F18C04884A66C60000795C7FC456A7AE959>I<F2FF80DB07FF020F13F0033F
01E0017F13FC4AB5D8FC01B57E0207DAFF0780021F15CF4A92B712805C49BBFC5B491807
DBFE0302F81400499026F0007F13C04901C0011F6E5A4B6DEC00FC4948C700036D90C7FC
4A80017F834A8049486F7EA24A153FA248844A151FA86E153F6C60A26E157FA26D6C4B5A
6E5C013F5F6E5C6D6C6C010F5B6F5B6D01F0017F5BDBFE03B5C9FC92B7FC495E604916F0
6060D97FE792CAFC02C114FCDAC03F13E0030790CBFC92CDFCA480A2806D7E80806DB712
E0F0FF806D17F06D17FE49717E013F18E04918F890BA7E488548854801FCC8003F804801
E00300800280161F4890CA00077F4917014848717F49187F4848851A3F49181F8712FF49
180FA66D181FA26C6C4E5A6D187FA2D83FFE4D485A6D5F6C6D4C5B6C01E0041F5B02F816
7F6C01FE4BB55A6CD9FFE0021F91C7FC6C02FF0103B55A6C92B75A013F18F06D60010718
8001014DC8FC6D6C16F8021F16E0020393C9FCDA007F14F8030149CAFC51747BCB59>I<
EF3FF8261FFFFC0103B5FC4801FF011F14E048037F14F8B60081B612FE038381038F16C0
039F826C02BF826C91B87E6CDCC01F7FD800039126FC00037F04F001007F4C800480021F
138093C86C13C04B814B6F13E05D7313F04B814BEE7FF8A24B163F1BFC4B161FA21BFE1A
0FA31BFF86AC621BFEA2811A1F1BFC1A3F81F27FF8811AFF6F17F0616F4B13E06F5D6F4B
13C0704A13806104E091B5120070495B04FC01075B9326FF807F5B94B65A03BF5E039F5E
038F5E03874BC7FC03815D038015F0043F14C0040749C8FC040013E094CAFCB3A9001FB6
12F048814881B77EA46C5D6C5D6C5D50717ECA59>112 D<953803FFC0001FB500F0023F
13F84802FC49B512FE480407ECFF80B66C011F15C0057F15E094B7FC16036C4B16F06C5D
6C4BEBFE03C7000F4913E04C13804C48486C13E092B512F84D6D13C005C0EC7F804DEC0C
0094CAFC5EA25E5E5EA25EA25EA25EA293CBFCA55DB3AB001FB812F848834883BAFCA46C
5F6C5F6C5F4C4B7ACA59>114 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fu cmbx12 20.736 14
/Fu 14 118 df<13FF000313E0487F001F13FC487F805A1580B612C0A315E0A315F0A37E
A27EA27E000713F36C13E3C61383EB00031407A215E0A3140FA215C0141FA2EC3F80A214
7F15005C5C1301495A5C1307495A495A133F495A495A4890C7FC485A485A485A5B6C5AEA
01801C3A72F736>39 D<137F3801FFC0000713F0487F487F487F487FA2B61280A96C1400
A26C5B6C5B6C5B6C5B000113C06C6CC7FC1919729836>46 D<EE3FFF0307B512F8033F14
FF4AB712E0020716F8021F16FE4AD9F8077F91B5D8C00014C04991C7003F7F4901FC020F
7F49496E7F49496E7F49496E7F49496E7F4B81498590B5C96C7FA24849707FA24886A248
864A824886A34886A448864A82A4481B80A8B51AC0B3AA6C1B80A86C1B006E5EA46C62A3
6C62A36C6D4C5BA36C62A26C6D4C5BA26C6E4B5B6D616F92B5FC6D96C7FC6D6D4A5B6D6D
4A5B6D6D4A5B6D6D4A5B6D01FF023F5B6D02C090B55A6ED9F8075C021F90B648C8FC0207
16F8020116E06E6C1580030702F8C9FCDB003F90CAFC527379F061>48
D<923801FFFE033FEBFFF84AB7FC020F16E0023F16F84A16FE49B97E49DA003F80010F01
F0010714F04901800101804948C880D97FF86F7F02E081496C834801FC6F148014FF486E
6E14C08181481AE081A96C5C1BC06C4A5C6C5C6D90C815806D5AD90FF85D90CA15006260
6295B55A4D5C624D5C4D5C4D91C7FC4D13FC4D5B4CB512E0047F1480037FB548C8FC92B6
12F818C018F8F0FF806F15F092C7003F13FC050713FF050114C071807213F8727F727F86
7214801BC07214E01BF0A27214F81BFCA37214FEA31BFFEBFF80000313E0487F001F13FC
487FA2487FA2B67EA31BFEA3601BFCA292C8FC6C1AF84A5D4A18F06C494B14E05C6C01C0
4B14C06C90C915804E14006C6D4B5B6C01F092B55A6C01FC4A5C27007FFFC001075C6D01
FE013F14C0010F90B85A6D4DC7FC010117F8D9003F16E0020F93C8FC020015F0030749C9
FC507378F061>51 D<96267FFFE01670063FB6ED01F80503B700F01403053F04FC14074C
B96C130F040706E0131F043F72133F93BA00FC137F0303DC00076D13FF030F03C0903900
3FFF814B02FCC8000713C3037F02E0030113F792B600806F6CB5FC02034ACA121F4A02F8
834A02E0834A4A1701027F4A8391B548CC7E494A85495C4C854988494A85494A85495C8A
4991CDFC90B54886A2484A1B7FA2481E3F5D481E1F5D5A1F0FA2485CA3481E075DA2795A
489BC9FCA45DA2B6FCB27EA26F0403BA12C0A47EA3816C96C8000302F8C7FCA36C80A36C
80A27E817E817E817F6D80827F6D806D806D80826D6E606D806E80021F6E5F6E02F05F6E
806E02FE5F0200DAFFC05E6F02F04BB6FC031F02FE030713CF6FDAFFE0021F1387030392
26FF8003B51201030093B6EAFC00043F4E133F040706E0131F04014E1307DC003F4CC712
01050304F8EC0070DD003F038092C8FCDE007F01F0CCFC827A75F798>71
D<BA00E0030FB8FCA8C7003F0280CC003FEBC000E503FCC7FCB3B3B3B3A46E1C0768A283
6E1C0F68A26E1C1F7162A26E1C3F714F5A806E525A71606F6D97C8FC6F505A7118076F6D
4E5A6F6EEF3FF86F6E4D5A6F6EEE01FF6F02F84C5B6F02FE041F5B043F6D6C037F90C9FC
7002F0913807FFFE0407DAFF8090B55A040192B712F07061051F188005074DCAFC050017
F0061F16C0060103FCCBFCDE000391CCFC88787AF595>85 D<97380FFFE00607B6FCA8F0
0003190086B3AD93383FFF800307B512F8033F14FF4AB712C0020716F0021F16FC027F90
39FE007FFE91B500F0EB0FFF01030280010190B5FC4949C87E4949814949814949814949
8190B548814884484A8192CAFC5AA2485BA25A5C5AA35A5CA4B5FCAF7EA4807EA37EA280
7EA26C7F616C6E5D6C606C80616D6D5D6D6D5D6D6D92B67E6D6D4A15FC010301FF0207ED
FFFE6D02C0EB3FFE6D6C9039FC01FFF86E90B65A020F16C002031600DA007F14FC030F14
E09226007FFEC749C7FC5F797AF76C>100 D<93387FFF80030FB512FC037FECFF804AB7
12E0020716F8021F16FE027FD9F8077F49B5D8C000804991C7003F13E04901FC020F7F49
496E7F49498049496E7F49496E7F90B55A48727E92C914804884485B1BC048841BE0485B
A27313F05AA25C5AA21BF885A2B5FCA391BAFCA41BF002F8CCFCA67EA3807EA47E806CF1
03F0F207F86C7F1A0F6C6E17F06C191F6F17E06C6E163F6D6DEE7FC06D6D16FF6D6D4B13
806D6D4B13006D6D6CEC0FFE6D02E0EC3FFC6D02F8ECFFF86D9126FFC00F5B023F91B65A
020F178002034CC7FC020016F8031F15E0030392C8FCDB000F13E04D507BCE58>I<EB01
FCEB07FF011F13C0497F497F90B57EA24880A24880A76C5CA26C5CA26D5B6D5B6D5B0107
90C8FCEB01FC90CAFCB2903801FFFC007FB5FCA8C67E131F7FB3B3B3A5B81280A8297979
F835>105 D<93381FFFE00303B6FC031F15E092B712FC020316FF020F17C0023FD9FC00
14F091B500C0010F13FC4991C700037F4901FC02007F010F496F13C049496F7F49496F7F
4B8149496F7F90B5C96C7F4886A24849707F481B80A248497014C0A2481BE0A348497113
F0A3481BF8A5B51AFCAE6C1BF8A46C1BF06E94B5FCA36C1BE0A26C6D4C14C0A26C1B806E
5E6C1B006C6E4B5BA26C6E4B5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D92B55A6D01FF02035C
6D02C0010F91C7FC010002FC90B512FC6E90B75A021F17E00207178002014CC8FCDA003F
15F0030392C9FCDB001F13E056507BCE61>111 D<902601FFF8EB07FEB691383FFFC094
B512F00403804C14FE4C8093261FFC3F138093263FE07F13C0DC7F80B5FCC66C5D011FDA
FE0114E06DEBF9FC16F815FB16F016E015FF16C07114C05E72138095381FFE0093C76C5A
F001E095C8FCA25DA65DB3B3A2B812F8A8434E7ACD4F>114 D<912603FFFCEB0780027F
9039FFE00FC00103B6EAF83F010FEDFEFF013F92B5FC49EB000F2601FFF0130048018014
3F4890C8120F4848814848814981123F83485A187FA212FF6D163FA37F7F6DEE1F8002C0
92C7FC14F014FEECFFF06CECFF8016FEEEFFE06C16FC6C16FF18C06C836C17F86C836C83
6C83013F17806D17C0010717E0010117F0EB003F020716F8EC001F030015FC1607EE007F
051F13FE1707007E82B482836D167FA2183F7F181FA27F19FC7FA26D163F6D17F86D167F
19F06D16FF6E4A13E002E04A13C06E4A138002FE023F1300913AFFC003FFFE01E790B65A
01C316F0018016C026FE003F92C7FC48010714F80070D9007F90C8FC3F507ACE4C>I<15
FFA75CA55CA45CA25CA25CA25CA25C91B5FCA25B5B5B131F5B90B9FC120FBAFCA6D80007
91C9FCB3B3A3F01FE0AE183F7014C07F187F7014806D16FF826D4B13006E6D485AEEFE0F
6E90B55A020F5D6E5D020115C06E6C5C031F49C7FC030113F03B6E7CEC4B>I<DAFFFE93
3803FFF8B60303B6FCA8C66CEE0001011F717E6D84B3B3A862A497B5FCA261A2616D5F1A
DF6F150F6DEF1F9F073F806D6EDA7F1F13FF6D6ED901FEEDFF8070EB07FC023F01FEEB3F
F86E90B612F06E16C0020316800200EDFE00031F14F80300028003C0C7FC614F79CD6C>
I E
%EndDVIPSBitmapFont
end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%BeginPaperSize: a4
a4
%%EndPaperSize

%%EndSetup
%%Page: 1 1
1 0 bop 150 1318 a Fu(User's)65 b(Guide)h(to)e Ft(gperf)f
Fu(3.0)p 150 1423 3600 34 v 2005 1519 a Fs(The)30 b(GNU)h(P)m(erfect)h
(Hash)e(F)-8 b(unction)30 b(Generator)2792 1627 y(Edition)e(3.0,)k(7)f
(Ma)m(y)g(2003)150 4958 y Fr(Douglas)46 b(C.)f(Sc)l(hmidt)150
5091 y(Bruno)f(Haible)p 150 5141 3600 17 v eop
%%Page: 2 2
2 1 bop 150 4152 a Fs(Cop)m(yrigh)m(t)602 4149 y(c)577
4152 y Fq(\015)30 b Fs(1989-2003)k(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)
-8 b(oundation,)31 b(Inc.)150 4286 y(P)m(ermission)f(is)i(gran)m(ted)h
(to)f(mak)m(e)i(and)d(distribute)f(v)m(erbatim)i(copies)g(of)g(this)f
(man)m(ual)h(pro)m(vided)f(the)150 4396 y(cop)m(yrigh)m(t)g(notice)f
(and)g(this)f(p)s(ermission)f(notice)i(are)h(preserv)m(ed)f(on)h(all)e
(copies.)150 4530 y(P)m(ermission)36 b(is)i(gran)m(ted)g(to)h(cop)m(y)g
(and)f(distribute)e(mo)s(di\014ed)g(v)m(ersions)h(of)i(this)e(man)m
(ual)g(under)g(the)150 4640 y(conditions)42 b(for)h(v)m(erbatim)g(cop)m
(ying,)k(pro)m(vided)42 b(also)h(that)i(the)e(section)h(en)m(titled)f
(\\GNU)h(General)150 4749 y(Public)25 b(License")h(is)g(included)e
(exactly)k(as)f(in)e(the)i(original,)f(and)g(pro)m(vided)g(that)h(the)g
(en)m(tire)g(resulting)150 4859 y(deriv)m(ed)i(w)m(ork)i(is)e
(distributed)f(under)h(the)h(terms)g(of)h(a)g(p)s(ermission)c(notice)k
(iden)m(tical)e(to)i(this)e(one.)150 4994 y(P)m(ermission)i(is)i(gran)m
(ted)g(to)h(cop)m(y)g(and)f(distribute)d(translations)i(of)i(this)e
(man)m(ual)g(in)m(to)h(another)g(lan-)150 5103 y(guage,)41
b(under)35 b(the)j(ab)s(o)m(v)m(e)g(conditions)e(for)h(mo)s(di\014ed)f
(v)m(ersions,)i(except)h(that)e(the)h(section)f(en)m(titled)150
5213 y(\\GNU)f(General)g(Public)d(License")i(ma)m(y)h(b)s(e)e(included)
f(in)h(a)i(translation)e(appro)m(v)m(ed)h(b)m(y)h(the)f(author)150
5322 y(instead)30 b(of)g(in)f(the)i(original)d(English.)p
eop
%%Page: 1 3
1 2 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h(LICENSE)2052
b(1)150 299 y Fp(GNU)54 b(GENERAL)g(PUBLIC)f(LICENSE)1537
564 y Fs(V)-8 b(ersion)30 b(2,)h(June)f(1991)390 720
y(Cop)m(yrigh)m(t)842 717 y(c)817 720 y Fq(\015)g Fs(1989,)j(1991)f(F)
-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)30 b(Inc.,)390
824 y(59)h(T)-8 b(emple)30 b(Place,)h(Suite)e(330,)j(Boston,)g(MA)e
(02111-1307,)35 b(USA.)390 1032 y(Ev)m(ery)m(one)c(is)f(p)s(ermitted)f
(to)i(cop)m(y)g(and)f(distribute)e(v)m(erbatim)i(copies)390
1135 y(of)h(this)e(license)g(do)s(cumen)m(t,)i(but)e(c)m(hanging)i(it)f
(is)f(not)i(allo)m(w)m(ed.)150 1462 y Fr(Pream)l(ble)275
1683 y Fs(The)39 b(licenses)h(for)g(most)h(soft)m(w)m(are)g(are)g
(designed)e(to)i(tak)m(e)h(a)m(w)m(a)m(y)h(y)m(our)d(freedom)g(to)h
(share)g(and)150 1793 y(c)m(hange)g(it.)70 b(By)40 b(con)m(trast,)k
(the)c(GNU)h(General)f(Public)e(License)i(is)f(in)m(tended)g(to)h
(guaran)m(tee)i(y)m(our)150 1902 y(freedom)24 b(to)h(share)f(and)f(c)m
(hange)i(free)f(soft)m(w)m(are|to)j(mak)m(e)e(sure)e(the)h(soft)m(w)m
(are)i(is)d(free)h(for)g(all)f(its)h(users.)150 2012
y(This)38 b(General)i(Public)d(License)j(applies)e(to)i(most)g(of)g
(the)g(F)-8 b(ree)41 b(Soft)m(w)m(are)g(F)-8 b(oundation's)39
b(soft)m(w)m(are)150 2121 y(and)c(to)h(an)m(y)g(other)g(program)f
(whose)h(authors)f(commit)g(to)i(using)d(it.)55 b(\(Some)36
b(other)g(F)-8 b(ree)37 b(Soft)m(w)m(are)150 2231 y(F)-8
b(oundation)31 b(soft)m(w)m(are)i(is)d(co)m(v)m(ered)j(b)m(y)e(the)g
(GNU)h(Library)e(General)h(Public)e(License)h(instead.\))43
b(Y)-8 b(ou)150 2340 y(can)31 b(apply)e(it)h(to)h(y)m(our)f(programs,)g
(to)s(o.)275 2503 y(When)37 b(w)m(e)g(sp)s(eak)g(of)g(free)h(soft)m(w)m
(are,)i(w)m(e)e(are)g(referring)d(to)j(freedom,)h(not)f(price.)60
b(Our)36 b(General)150 2612 y(Public)c(Licenses)h(are)i(designed)e(to)i
(mak)m(e)g(sure)f(that)g(y)m(ou)h(ha)m(v)m(e)g(the)g(freedom)f(to)g
(distribute)e(copies)150 2722 y(of)k(free)h(soft)m(w)m(are)g(\(and)f(c)
m(harge)i(for)e(this)f(service)h(if)f(y)m(ou)i(wish\),)g(that)f(y)m(ou)
h(receiv)m(e)g(source)f(co)s(de)h(or)150 2832 y(can)e(get)h(it)e(if)f
(y)m(ou)i(w)m(an)m(t)h(it,)f(that)g(y)m(ou)g(can)g(c)m(hange)h(the)e
(soft)m(w)m(are)i(or)f(use)f(pieces)h(of)f(it)g(in)g(new)g(free)150
2941 y(programs;)c(and)g(that)h(y)m(ou)g(kno)m(w)f(y)m(ou)h(can)f(do)h
(these)g(things.)275 3104 y(T)-8 b(o)40 b(protect)h(y)m(our)f(righ)m
(ts,)i(w)m(e)e(need)g(to)h(mak)m(e)g(restrictions)d(that)j(forbid)d(an)
m(y)m(one)j(to)g(den)m(y)f(y)m(ou)150 3213 y(these)d(righ)m(ts)f(or)g
(to)h(ask)g(y)m(ou)f(to)h(surrender)e(the)h(righ)m(ts.)58
b(These)36 b(restrictions)f(translate)i(to)g(certain)150
3323 y(resp)s(onsibilities)25 b(for)31 b(y)m(ou)f(if)g(y)m(ou)g
(distribute)e(copies)i(of)h(the)f(soft)m(w)m(are,)j(or)d(if)f(y)m(ou)i
(mo)s(dify)e(it.)275 3485 y(F)-8 b(or)30 b(example,)f(if)g(y)m(ou)g
(distribute)e(copies)j(of)f(suc)m(h)g(a)h(program,)g(whether)e(gratis)i
(or)f(for)g(a)h(fee,)h(y)m(ou)150 3595 y(m)m(ust)i(giv)m(e)h(the)g
(recipien)m(ts)e(all)h(the)g(righ)m(ts)g(that)h(y)m(ou)g(ha)m(v)m(e.)51
b(Y)-8 b(ou)34 b(m)m(ust)g(mak)m(e)g(sure)f(that)h(they)-8
b(,)35 b(to)s(o,)150 3704 y(receiv)m(e)j(or)g(can)g(get)g(the)g(source)
g(co)s(de.)62 b(And)37 b(y)m(ou)h(m)m(ust)f(sho)m(w)h(them)f(these)h
(terms)f(so)h(they)g(kno)m(w)150 3814 y(their)29 b(righ)m(ts.)275
3976 y(W)-8 b(e)29 b(protect)g(y)m(our)f(righ)m(ts)f(with)g(t)m(w)m(o)i
(steps:)40 b(\(1\))29 b(cop)m(yrigh)m(t)f(the)g(soft)m(w)m(are,)j(and)c
(\(2\))i(o\013er)g(y)m(ou)f(this)150 4086 y(license)h(whic)m(h)g(giv)m
(es)i(y)m(ou)g(legal)f(p)s(ermission)d(to)k(cop)m(y)-8
b(,)32 b(distribute)c(and/or)i(mo)s(dify)f(the)i(soft)m(w)m(are.)275
4248 y(Also,)45 b(for)d(eac)m(h)i(author's)f(protection)f(and)g(ours,)j
(w)m(e)e(w)m(an)m(t)h(to)f(mak)m(e)h(certain)e(that)h(ev)m(ery)m(one)
150 4358 y(understands)29 b(that)j(there)f(is)f(no)h(w)m(arran)m(t)m(y)
h(for)f(this)f(free)h(soft)m(w)m(are.)44 b(If)30 b(the)i(soft)m(w)m
(are)g(is)e(mo)s(di\014ed)f(b)m(y)150 4467 y(someone)i(else)e(and)g
(passed)h(on,)g(w)m(e)g(w)m(an)m(t)h(its)e(recipien)m(ts)g(to)h(kno)m
(w)g(that)g(what)g(they)g(ha)m(v)m(e)h(is)e(not)h(the)150
4577 y(original,)e(so)h(that)g(an)m(y)h(problems)d(in)m(tro)s(duced)g
(b)m(y)i(others)g(will)d(not)j(re\015ect)h(on)f(the)g(original)e
(authors')150 4686 y(reputations.)275 4849 y(Finally)-8
b(,)24 b(an)m(y)h(free)f(program)g(is)g(threatened)g(constan)m(tly)h(b)
m(y)g(soft)m(w)m(are)h(paten)m(ts.)39 b(W)-8 b(e)26 b(wish)c(to)j(a)m
(v)m(oid)150 4958 y(the)30 b(danger)g(that)h(redistributors)c(of)k(a)f
(free)h(program)f(will)d(individually)e(obtain)30 b(paten)m(t)h
(licenses,)e(in)150 5068 y(e\013ect)39 b(making)e(the)h(program)f
(proprietary)-8 b(.)62 b(T)-8 b(o)38 b(prev)m(en)m(t)g(this,)h(w)m(e)f
(ha)m(v)m(e)h(made)f(it)f(clear)g(that)i(an)m(y)150 5178
y(paten)m(t)31 b(m)m(ust)g(b)s(e)e(licensed)g(for)h(ev)m(ery)m(one's)i
(free)f(use)f(or)g(not)h(licensed)e(at)i(all.)275 5340
y(The)e(precise)h(terms)g(and)g(conditions)f(for)h(cop)m(ying,)h
(distribution)26 b(and)k(mo)s(di\014cation)f(follo)m(w.)p
eop
%%Page: 2 4
2 3 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h(LICENSE)2052
b(2)150 166 y Fr(TERMS)44 b(AND)h(CONDITIONS)g(F)l(OR)g(COPYING,)150
299 y(DISTRIBUTION)f(AND)h(MODIFICA)-11 b(TION)199 515
y Fs(0.)61 b(This)41 b(License)h(applies)e(to)k(an)m(y)f(program)f(or)g
(other)h(w)m(ork)g(whic)m(h)e(con)m(tains)i(a)g(notice)f(placed)330
625 y(b)m(y)33 b(the)h(cop)m(yrigh)m(t)g(holder)e(sa)m(ying)i(it)f(ma)m
(y)h(b)s(e)f(distributed)e(under)h(the)h(terms)h(of)g(this)e(General)
330 735 y(Public)37 b(License.)67 b(The)39 b(\\Program",)j(b)s(elo)m
(w,)f(refers)e(to)h(an)m(y)g(suc)m(h)f(program)g(or)g(w)m(ork,)j(and)d
(a)330 844 y(\\w)m(ork)29 b(based)f(on)h(the)g(Program")g(means)f
(either)h(the)f(Program)h(or)g(an)m(y)g(deriv)-5 b(ativ)m(e)28
b(w)m(ork)g(under)330 954 y(cop)m(yrigh)m(t)k(la)m(w:)42
b(that)32 b(is)e(to)j(sa)m(y)-8 b(,)33 b(a)e(w)m(ork)h(con)m(taining)f
(the)g(Program)h(or)f(a)h(p)s(ortion)e(of)h(it,)g(either)330
1063 y(v)m(erbatim)e(or)g(with)e(mo)s(di\014cations)g(and/or)i
(translated)g(in)m(to)g(another)g(language.)40 b(\(Hereinafter,)330
1173 y(translation)26 b(is)g(included)f(without)h(limitation)f(in)h
(the)h(term)g(\\mo)s(di\014cation".\))40 b(Eac)m(h)27
b(licensee)g(is)330 1282 y(addressed)i(as)i(\\y)m(ou".)330
1429 y(Activities)38 b(other)h(than)f(cop)m(ying,)k(distribution)35
b(and)j(mo)s(di\014cation)f(are)i(not)g(co)m(v)m(ered)h(b)m(y)f(this)
330 1538 y(License;)33 b(they)g(are)f(outside)g(its)f(scop)s(e.)47
b(The)32 b(act)h(of)g(running)c(the)k(Program)f(is)f(not)i(restricted,)
330 1648 y(and)24 b(the)g(output)g(from)g(the)h(Program)f(is)g(co)m(v)m
(ered)i(only)d(if)g(its)h(con)m(ten)m(ts)i(constitute)f(a)g(w)m(ork)f
(based)330 1758 y(on)h(the)h(Program)f(\(indep)s(enden)m(t)f(of)i(ha)m
(ving)f(b)s(een)f(made)i(b)m(y)f(running)e(the)i(Program\).)40
b(Whether)330 1867 y(that)31 b(is)e(true)i(dep)s(ends)d(on)i(what)h
(the)f(Program)h(do)s(es.)199 2014 y(1.)61 b(Y)-8 b(ou)42
b(ma)m(y)g(cop)m(y)g(and)e(distribute)f(v)m(erbatim)i(copies)g(of)h
(the)f(Program's)h(source)f(co)s(de)h(as)g(y)m(ou)330
2123 y(receiv)m(e)32 b(it,)f(in)f(an)m(y)h(medium,)f(pro)m(vided)g
(that)h(y)m(ou)h(conspicuously)d(and)h(appropriately)g(publish)330
2233 y(on)j(eac)m(h)h(cop)m(y)g(an)f(appropriate)f(cop)m(yrigh)m(t)i
(notice)f(and)g(disclaimer)d(of)k(w)m(arran)m(t)m(y;)h(k)m(eep)f(in)m
(tact)330 2342 y(all)d(the)g(notices)h(that)h(refer)e(to)h(this)f
(License)g(and)g(to)i(the)f(absence)g(of)g(an)m(y)g(w)m(arran)m(t)m(y;)
h(and)e(giv)m(e)330 2452 y(an)m(y)g(other)f(recipien)m(ts)g(of)g(the)h
(Program)f(a)h(cop)m(y)g(of)g(this)e(License)h(along)g(with)f(the)i
(Program.)330 2598 y(Y)-8 b(ou)31 b(ma)m(y)g(c)m(harge)h(a)f(fee)g(for)
f(the)h(ph)m(ysical)e(act)j(of)f(transferring)e(a)i(cop)m(y)-8
b(,)32 b(and)e(y)m(ou)h(ma)m(y)g(at)g(y)m(our)330 2708
y(option)f(o\013er)h(w)m(arran)m(t)m(y)g(protection)g(in)e(exc)m(hange)
j(for)e(a)g(fee.)199 2854 y(2.)61 b(Y)-8 b(ou)24 b(ma)m(y)h(mo)s(dify)d
(y)m(our)i(cop)m(y)g(or)g(copies)g(of)g(the)g(Program)g(or)g(an)m(y)g
(p)s(ortion)e(of)i(it,)h(th)m(us)f(forming)f(a)330 2964
y(w)m(ork)k(based)g(on)f(the)h(Program,)h(and)f(cop)m(y)g(and)g
(distribute)d(suc)m(h)j(mo)s(di\014cations)e(or)h(w)m(ork)h(under)330
3074 y(the)k(terms)f(of)g(Section)h(1)f(ab)s(o)m(v)m(e,)i(pro)m(vided)d
(that)i(y)m(ou)g(also)f(meet)h(all)f(of)g(these)h(conditions:)379
3220 y(a.)61 b(Y)-8 b(ou)43 b(m)m(ust)f(cause)i(the)e(mo)s(di\014ed)f
(\014les)g(to)i(carry)g(prominen)m(t)e(notices)i(stating)f(that)i(y)m
(ou)510 3330 y(c)m(hanged)31 b(the)g(\014les)e(and)h(the)g(date)h(of)g
(an)m(y)g(c)m(hange.)374 3476 y(b.)60 b(Y)-8 b(ou)31
b(m)m(ust)g(cause)g(an)m(y)h(w)m(ork)f(that)g(y)m(ou)g(distribute)d(or)
j(publish,)d(that)j(in)f(whole)g(or)h(in)e(part)510 3586
y(con)m(tains)35 b(or)h(is)e(deriv)m(ed)g(from)h(the)g(Program)g(or)g
(an)m(y)h(part)f(thereof,)i(to)f(b)s(e)e(licensed)g(as)i(a)510
3695 y(whole)30 b(at)h(no)f(c)m(harge)i(to)f(all)e(third)f(parties)i
(under)f(the)i(terms)f(of)g(this)g(License.)384 3842
y(c.)61 b(If)39 b(the)h(mo)s(di\014ed)e(program)h(normally)f(reads)i
(commands)f(in)m(teractiv)m(ely)h(when)f(run,)i(y)m(ou)510
3951 y(m)m(ust)30 b(cause)h(it,)f(when)g(started)h(running)c(for)k(suc)
m(h)f(in)m(teractiv)m(e)h(use)f(in)f(the)i(most)g(ordinary)510
4061 y(w)m(a)m(y)-8 b(,)25 b(to)d(prin)m(t)e(or)h(displa)m(y)f(an)h
(announcemen)m(t)g(including)d(an)k(appropriate)e(cop)m(yrigh)m(t)i
(notice)510 4170 y(and)i(a)g(notice)h(that)f(there)h(is)e(no)h(w)m
(arran)m(t)m(y)h(\(or)g(else,)g(sa)m(ying)f(that)h(y)m(ou)g(pro)m(vide)
e(a)i(w)m(arran)m(t)m(y\))510 4280 y(and)35 b(that)g(users)g(ma)m(y)g
(redistribute)e(the)j(program)f(under)e(these)j(conditions,)f(and)g
(telling)510 4390 y(the)f(user)f(ho)m(w)h(to)g(view)f(a)i(cop)m(y)f(of)
g(this)f(License.)50 b(\(Exception:)e(if)32 b(the)i(Program)g(itself)f
(is)510 4499 y(in)m(teractiv)m(e)i(but)e(do)s(es)h(not)g(normally)e
(prin)m(t)h(suc)m(h)g(an)h(announcemen)m(t,)h(y)m(our)f(w)m(ork)g
(based)510 4609 y(on)c(the)h(Program)f(is)g(not)g(required)f(to)i(prin)
m(t)e(an)h(announcemen)m(t.\))330 4792 y(These)41 b(requiremen)m(ts)g
(apply)f(to)i(the)g(mo)s(di\014ed)e(w)m(ork)h(as)h(a)g(whole.)73
b(If)42 b(iden)m(ti\014able)d(sections)330 4902 y(of)j(that)h(w)m(ork)g
(are)f(not)h(deriv)m(ed)e(from)h(the)h(Program,)i(and)d(can)h(b)s(e)e
(reasonably)h(considered)330 5011 y(indep)s(enden)m(t)24
b(and)j(separate)g(w)m(orks)g(in)e(themselv)m(es,)j(then)e(this)g
(License,)h(and)f(its)h(terms,)g(do)g(not)330 5121 y(apply)36
b(to)i(those)f(sections)g(when)g(y)m(ou)g(distribute)e(them)i(as)g
(separate)h(w)m(orks.)61 b(But)37 b(when)g(y)m(ou)330
5230 y(distribute)27 b(the)i(same)g(sections)h(as)f(part)g(of)g(a)h
(whole)e(whic)m(h)g(is)g(a)h(w)m(ork)h(based)e(on)h(the)h(Program,)330
5340 y(the)h(distribution)d(of)j(the)h(whole)e(m)m(ust)h(b)s(e)g(on)g
(the)g(terms)g(of)h(this)e(License,)h(whose)g(p)s(ermissions)p
eop
%%Page: 3 5
3 4 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h(LICENSE)2052
b(3)330 299 y(for)22 b(other)h(licensees)e(extend)i(to)g(the)f(en)m
(tire)g(whole,)i(and)d(th)m(us)h(to)h(eac)m(h)h(and)d(ev)m(ery)i(part)g
(regardless)330 408 y(of)31 b(who)e(wrote)i(it.)330 538
y(Th)m(us,)48 b(it)d(is)f(not)i(the)f(in)m(ten)m(t)g(of)h(this)e
(section)h(to)h(claim)f(righ)m(ts)f(or)h(con)m(test)i(y)m(our)f(righ)m
(ts)e(to)330 648 y(w)m(ork)34 b(written)e(en)m(tirely)h(b)m(y)h(y)m
(ou;)h(rather,)g(the)f(in)m(ten)m(t)g(is)e(to)j(exercise)e(the)h(righ)m
(t)f(to)i(con)m(trol)f(the)330 757 y(distribution)27
b(of)j(deriv)-5 b(ativ)m(e)30 b(or)h(collectiv)m(e)f(w)m(orks)h(based)f
(on)g(the)h(Program.)330 887 y(In)41 b(addition,)h(mere)f(aggregation)i
(of)f(another)f(w)m(ork)g(not)h(based)f(on)g(the)g(Program)h(with)e
(the)330 996 y(Program)22 b(\(or)g(with)e(a)i(w)m(ork)g(based)f(on)h
(the)g(Program\))g(on)f(a)h(v)m(olume)g(of)g(a)g(storage)h(or)f
(distribution)330 1106 y(medium)28 b(do)s(es)j(not)f(bring)f(the)h
(other)h(w)m(ork)f(under)f(the)i(scop)s(e)f(of)h(this)e(License.)199
1235 y(3.)61 b(Y)-8 b(ou)38 b(ma)m(y)f(cop)m(y)h(and)f(distribute)d
(the)k(Program)f(\(or)g(a)h(w)m(ork)f(based)g(on)g(it,)i(under)c
(Section)i(2\))330 1345 y(in)29 b(ob)5 b(ject)31 b(co)s(de)g(or)g
(executable)g(form)f(under)e(the)j(terms)f(of)h(Sections)f(1)h(and)f(2)
h(ab)s(o)m(v)m(e)g(pro)m(vided)330 1455 y(that)g(y)m(ou)g(also)f(do)g
(one)h(of)f(the)h(follo)m(wing:)379 1584 y(a.)61 b(Accompan)m(y)47
b(it)e(with)f(the)i(complete)g(corresp)s(onding)e(mac)m(hine-readable)h
(source)g(co)s(de,)510 1694 y(whic)m(h)25 b(m)m(ust)h(b)s(e)f
(distributed)e(under)h(the)j(terms)e(of)i(Sections)e(1)i(and)e(2)h(ab)s
(o)m(v)m(e)i(on)d(a)i(medium)510 1803 y(customarily)i(used)h(for)g
(soft)m(w)m(are)i(in)m(terc)m(hange;)f(or,)374 1933 y(b.)60
b(Accompan)m(y)30 b(it)f(with)f(a)i(written)e(o\013er,)j(v)-5
b(alid)27 b(for)i(at)i(least)e(three)h(y)m(ears,)g(to)g(giv)m(e)g(an)m
(y)g(third)510 2042 y(part)m(y)-8 b(,)32 b(for)f(a)h(c)m(harge)g(no)f
(more)h(than)f(y)m(our)g(cost)h(of)f(ph)m(ysically)f(p)s(erforming)f
(source)i(distri-)510 2152 y(bution,)c(a)h(complete)h(mac)m
(hine-readable)e(cop)m(y)h(of)g(the)g(corresp)s(onding)e(source)i(co)s
(de,)h(to)g(b)s(e)510 2262 y(distributed)i(under)i(the)h(terms)g(of)h
(Sections)f(1)g(and)g(2)h(ab)s(o)m(v)m(e)g(on)f(a)h(medium)d
(customarily)510 2371 y(used)e(for)g(soft)m(w)m(are)i(in)m(terc)m
(hange;)f(or,)384 2501 y(c.)61 b(Accompan)m(y)33 b(it)e(with)g(the)h
(information)e(y)m(ou)i(receiv)m(ed)g(as)g(to)g(the)g(o\013er)g(to)h
(distribute)c(cor-)510 2610 y(resp)s(onding)i(source)i(co)s(de.)50
b(\(This)31 b(alternativ)m(e)j(is)e(allo)m(w)m(ed)h(only)g(for)g
(noncommercial)f(dis-)510 2720 y(tribution)e(and)h(only)g(if)g(y)m(ou)i
(receiv)m(ed)f(the)g(program)g(in)f(ob)5 b(ject)33 b(co)s(de)f(or)g
(executable)g(form)510 2829 y(with)d(suc)m(h)h(an)g(o\013er,)h(in)e
(accord)j(with)d(Subsection)g(b)h(ab)s(o)m(v)m(e.\))330
2979 y(The)j(source)h(co)s(de)g(for)f(a)h(w)m(ork)g(means)f(the)h
(preferred)e(form)h(of)h(the)g(w)m(ork)f(for)h(making)f(mo)s(di\014-)
330 3088 y(cations)e(to)g(it.)40 b(F)-8 b(or)31 b(an)f(executable)h(w)m
(ork,)g(complete)f(source)h(co)s(de)f(means)h(all)e(the)h(source)h(co)s
(de)330 3198 y(for)25 b(all)g(mo)s(dules)f(it)h(con)m(tains,)i(plus)c
(an)m(y)j(asso)s(ciated)g(in)m(terface)h(de\014nition)c(\014les,)j
(plus)d(the)j(scripts)330 3308 y(used)41 b(to)i(con)m(trol)g
(compilation)d(and)i(installation)e(of)i(the)h(executable.)76
b(Ho)m(w)m(ev)m(er,)48 b(as)42 b(a)g(sp)s(e-)330 3417
y(cial)30 b(exception,)i(the)f(source)g(co)s(de)g(distributed)d(need)i
(not)h(include)e(an)m(ything)h(that)i(is)e(normally)330
3527 y(distributed)37 b(\(in)h(either)h(source)h(or)f(binary)f(form\))i
(with)e(the)i(ma)5 b(jor)39 b(comp)s(onen)m(ts)h(\(compiler,)330
3636 y(k)m(ernel,)35 b(and)f(so)g(on\))g(of)h(the)f(op)s(erating)g
(system)g(on)g(whic)m(h)f(the)h(executable)h(runs,)f(unless)e(that)330
3746 y(comp)s(onen)m(t)f(itself)e(accompanies)i(the)f(executable.)330
3875 y(If)39 b(distribution)c(of)40 b(executable)g(or)f(ob)5
b(ject)40 b(co)s(de)f(is)g(made)g(b)m(y)g(o\013ering)g(access)h(to)g
(cop)m(y)g(from)330 3985 y(a)e(designated)f(place,)i(then)f(o\013ering)
f(equiv)-5 b(alen)m(t)37 b(access)h(to)h(cop)m(y)f(the)f(source)h(co)s
(de)g(from)f(the)330 4095 y(same)29 b(place)f(coun)m(ts)g(as)h
(distribution)24 b(of)k(the)h(source)f(co)s(de,)h(ev)m(en)g(though)e
(third)g(parties)g(are)i(not)330 4204 y(comp)s(elled)g(to)i(cop)m(y)g
(the)g(source)f(along)h(with)e(the)h(ob)5 b(ject)31 b(co)s(de.)199
4334 y(4.)61 b(Y)-8 b(ou)35 b(ma)m(y)h(not)f(cop)m(y)-8
b(,)37 b(mo)s(dify)-8 b(,)35 b(sublicense,)f(or)g(distribute)f(the)i
(Program)f(except)i(as)f(expressly)330 4443 y(pro)m(vided)k(under)g
(this)h(License.)70 b(An)m(y)41 b(attempt)h(otherwise)e(to)h(cop)m(y)-8
b(,)45 b(mo)s(dify)-8 b(,)42 b(sublicense)c(or)330 4553
y(distribute)24 b(the)j(Program)g(is)e(v)m(oid,)i(and)f(will)e
(automatically)j(terminate)f(y)m(our)h(righ)m(ts)f(under)f(this)330
4663 y(License.)70 b(Ho)m(w)m(ev)m(er,)45 b(parties)40
b(who)g(ha)m(v)m(e)h(receiv)m(ed)g(copies,)i(or)d(righ)m(ts,)j(from)d
(y)m(ou)g(under)f(this)330 4772 y(License)d(will)e(not)j(ha)m(v)m(e)h
(their)e(licenses)f(terminated)i(so)g(long)f(as)h(suc)m(h)f(parties)g
(remain)g(in)f(full)330 4882 y(compliance.)199 5011 y(5.)61
b(Y)-8 b(ou)38 b(are)g(not)g(required)d(to)j(accept)h(this)e(License,)i
(since)e(y)m(ou)g(ha)m(v)m(e)i(not)f(signed)e(it.)62
b(Ho)m(w)m(ev)m(er,)330 5121 y(nothing)23 b(else)g(gran)m(ts)i(y)m(ou)f
(p)s(ermission)c(to)25 b(mo)s(dify)d(or)h(distribute)f(the)i(Program)g
(or)f(its)g(deriv)-5 b(ativ)m(e)330 5230 y(w)m(orks.)38
b(These)23 b(actions)g(are)h(prohibited)c(b)m(y)j(la)m(w)g(if)f(y)m(ou)
h(do)g(not)h(accept)g(this)e(License.)38 b(Therefore,)330
5340 y(b)m(y)e(mo)s(difying)d(or)j(distributing)c(the)k(Program)g(\(or)
h(an)m(y)f(w)m(ork)g(based)g(on)f(the)i(Program\),)h(y)m(ou)p
eop
%%Page: 4 6
4 5 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h(LICENSE)2052
b(4)330 299 y(indicate)31 b(y)m(our)i(acceptance)h(of)f(this)e(License)
h(to)i(do)e(so,)h(and)f(all)f(its)h(terms)g(and)g(conditions)f(for)330
408 y(cop)m(ying,)g(distributing)26 b(or)31 b(mo)s(difying)c(the)k
(Program)f(or)h(w)m(orks)f(based)g(on)g(it.)199 545 y(6.)61
b(Eac)m(h)43 b(time)e(y)m(ou)h(redistribute)e(the)i(Program)g(\(or)g
(an)m(y)h(w)m(ork)f(based)f(on)h(the)g(Program\),)k(the)330
655 y(recipien)m(t)31 b(automatically)i(receiv)m(es)g(a)g(license)e
(from)h(the)g(original)f(licensor)g(to)i(cop)m(y)-8 b(,)34
b(distribute)330 765 y(or)i(mo)s(dify)f(the)h(Program)h(sub)5
b(ject)36 b(to)h(these)g(terms)f(and)g(conditions.)57
b(Y)-8 b(ou)37 b(ma)m(y)g(not)f(imp)s(ose)330 874 y(an)m(y)27
b(further)f(restrictions)f(on)i(the)g(recipien)m(ts')f(exercise)h(of)g
(the)g(righ)m(ts)f(gran)m(ted)h(herein.)38 b(Y)-8 b(ou)28
b(are)330 984 y(not)j(resp)s(onsible)c(for)j(enforcing)g(compliance)g
(b)m(y)g(third)e(parties)i(to)h(this)e(License.)199 1121
y(7.)61 b(If,)27 b(as)g(a)g(consequence)h(of)f(a)g(court)g(judgmen)m(t)
f(or)h(allegation)f(of)h(paten)m(t)h(infringemen)m(t)c(or)j(for)g(an)m
(y)330 1230 y(other)h(reason)f(\(not)h(limited)d(to)j(paten)m(t)h
(issues\),)e(conditions)f(are)h(imp)s(osed)f(on)h(y)m(ou)h(\(whether)f
(b)m(y)330 1340 y(court)c(order,)h(agreemen)m(t)g(or)f(otherwise\))f
(that)h(con)m(tradict)h(the)e(conditions)f(of)i(this)f(License,)i(they)
330 1450 y(do)34 b(not)g(excuse)h(y)m(ou)f(from)g(the)g(conditions)f
(of)h(this)f(License.)52 b(If)33 b(y)m(ou)i(cannot)g(distribute)c(so)k
(as)330 1559 y(to)f(satisfy)f(sim)m(ultaneously)f(y)m(our)h
(obligations)g(under)f(this)g(License)h(and)g(an)m(y)h(other)g(p)s
(ertinen)m(t)330 1669 y(obligations,)41 b(then)f(as)g(a)g(consequence)h
(y)m(ou)f(ma)m(y)g(not)g(distribute)e(the)i(Program)g(at)g(all.)68
b(F)-8 b(or)330 1778 y(example,)25 b(if)e(a)i(paten)m(t)g(license)e(w)m
(ould)g(not)h(p)s(ermit)f(ro)m(y)m(alt)m(y-free)j(redistribution)20
b(of)k(the)h(Program)330 1888 y(b)m(y)35 b(all)f(those)h(who)f(receiv)m
(e)i(copies)f(directly)e(or)i(indirectly)e(through)h(y)m(ou,)i(then)f
(the)g(only)f(w)m(a)m(y)330 1998 y(y)m(ou)27 b(could)e(satisfy)h(b)s
(oth)f(it)h(and)g(this)f(License)h(w)m(ould)f(b)s(e)h(to)h(refrain)d
(en)m(tirely)i(from)g(distribution)330 2107 y(of)31 b(the)f(Program.)
330 2244 y(If)43 b(an)m(y)g(p)s(ortion)f(of)h(this)g(section)g(is)f
(held)g(in)m(v)-5 b(alid)41 b(or)i(unenforceable)f(under)g(an)m(y)i
(particular)330 2354 y(circumstance,)i(the)e(balance)f(of)g(the)h
(section)f(is)f(in)m(tended)g(to)i(apply)e(and)g(the)i(section)f(as)h
(a)330 2463 y(whole)30 b(is)f(in)m(tended)g(to)i(apply)e(in)g(other)i
(circumstances.)330 2600 y(It)41 b(is)e(not)i(the)f(purp)s(ose)f(of)i
(this)e(section)i(to)g(induce)e(y)m(ou)i(to)g(infringe)d(an)m(y)j
(paten)m(ts)g(or)g(other)330 2710 y(prop)s(ert)m(y)e(righ)m(t)h(claims)
e(or)i(to)h(con)m(test)h(v)-5 b(alidit)m(y)38 b(of)i(an)m(y)g(suc)m(h)g
(claims;)j(this)c(section)h(has)g(the)330 2819 y(sole)30
b(purp)s(ose)e(of)j(protecting)f(the)g(in)m(tegrit)m(y)g(of)g(the)h
(free)f(soft)m(w)m(are)h(distribution)c(system,)j(whic)m(h)330
2929 y(is)k(implemen)m(ted)g(b)m(y)h(public)d(license)i(practices.)55
b(Man)m(y)36 b(p)s(eople)e(ha)m(v)m(e)i(made)f(generous)h(con)m(tri-)
330 3039 y(butions)e(to)i(the)f(wide)g(range)g(of)h(soft)m(w)m(are)h
(distributed)32 b(through)j(that)h(system)f(in)f(reliance)h(on)330
3148 y(consisten)m(t)h(application)e(of)h(that)h(system;)i(it)d(is)g
(up)f(to)i(the)g(author/donor)f(to)h(decide)f(if)g(he)g(or)330
3258 y(she)i(is)g(willing)d(to)k(distribute)d(soft)m(w)m(are)k(through)
e(an)m(y)g(other)h(system)g(and)f(a)g(licensee)g(cannot)330
3367 y(imp)s(ose)29 b(that)i(c)m(hoice.)330 3504 y(This)25
b(section)j(is)e(in)m(tended)g(to)i(mak)m(e)g(thoroughly)e(clear)h
(what)g(is)f(b)s(eliev)m(ed)g(to)i(b)s(e)f(a)g(consequence)330
3614 y(of)k(the)f(rest)h(of)f(this)f(License.)199 3751
y(8.)61 b(If)35 b(the)g(distribution)c(and/or)k(use)g(of)g(the)g
(Program)g(is)f(restricted)h(in)f(certain)h(coun)m(tries)f(either)330
3861 y(b)m(y)h(paten)m(ts)h(or)g(b)m(y)f(cop)m(yrigh)m(ted)h(in)m
(terfaces,)h(the)e(original)f(cop)m(yrigh)m(t)i(holder)e(who)h(places)g
(the)330 3970 y(Program)h(under)f(this)g(License)h(ma)m(y)h(add)e(an)i
(explicit)d(geographical)j(distribution)32 b(limitation)330
4080 y(excluding)27 b(those)i(coun)m(tries,)g(so)g(that)g(distribution)
c(is)i(p)s(ermitted)h(only)f(in)g(or)i(among)g(coun)m(tries)330
4189 y(not)k(th)m(us)f(excluded.)47 b(In)32 b(suc)m(h)g(case,)j(this)c
(License)i(incorp)s(orates)f(the)h(limitation)d(as)j(if)f(written)330
4299 y(in)d(the)i(b)s(o)s(dy)d(of)j(this)e(License.)199
4436 y(9.)61 b(The)26 b(F)-8 b(ree)28 b(Soft)m(w)m(are)g(F)-8
b(oundation)26 b(ma)m(y)i(publish)23 b(revised)i(and/or)i(new)f(v)m
(ersions)g(of)h(the)g(General)330 4545 y(Public)35 b(License)h(from)h
(time)g(to)g(time.)61 b(Suc)m(h)36 b(new)h(v)m(ersions)f(will)f(b)s(e)h
(similar)e(in)i(spirit)f(to)j(the)330 4655 y(presen)m(t)30
b(v)m(ersion,)h(but)e(ma)m(y)i(di\013er)e(in)g(detail)h(to)h(address)e
(new)h(problems)f(or)h(concerns.)330 4792 y(Eac)m(h)46
b(v)m(ersion)e(is)g(giv)m(en)h(a)g(distinguishing)40
b(v)m(ersion)45 b(n)m(um)m(b)s(er.)83 b(If)44 b(the)h(Program)g(sp)s
(eci\014es)f(a)330 4902 y(v)m(ersion)35 b(n)m(um)m(b)s(er)g(of)h(this)e
(License)i(whic)m(h)e(applies)g(to)j(it)e(and)g(\\an)m(y)i(later)e(v)m
(ersion",)j(y)m(ou)e(ha)m(v)m(e)330 5011 y(the)d(option)f(of)h(follo)m
(wing)e(the)i(terms)g(and)f(conditions)f(either)i(of)g(that)g(v)m
(ersion)f(or)h(of)g(an)m(y)g(later)330 5121 y(v)m(ersion)d(published)c
(b)m(y)k(the)g(F)-8 b(ree)31 b(Soft)m(w)m(are)g(F)-8
b(oundation.)41 b(If)29 b(the)i(Program)f(do)s(es)g(not)g(sp)s(ecify)f
(a)330 5230 y(v)m(ersion)e(n)m(um)m(b)s(er)g(of)h(this)e(License,)i(y)m
(ou)g(ma)m(y)h(c)m(ho)s(ose)f(an)m(y)h(v)m(ersion)e(ev)m(er)h
(published)c(b)m(y)k(the)g(F)-8 b(ree)330 5340 y(Soft)m(w)m(are)31
b(F)-8 b(oundation.)p eop
%%Page: 5 7
5 6 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h(LICENSE)2052
b(5)154 299 y(10.)61 b(If)29 b(y)m(ou)g(wish)f(to)i(incorp)s(orate)f
(parts)g(of)g(the)g(Program)h(in)m(to)f(other)h(free)f(programs)g
(whose)g(distri-)330 408 y(bution)e(conditions)g(are)j(di\013eren)m(t,)
e(write)g(to)i(the)f(author)f(to)i(ask)e(for)h(p)s(ermission.)37
b(F)-8 b(or)29 b(soft)m(w)m(are)330 518 y(whic)m(h)23
b(is)g(cop)m(yrigh)m(ted)h(b)m(y)g(the)g(F)-8 b(ree)25
b(Soft)m(w)m(are)g(F)-8 b(oundation,)25 b(write)e(to)i(the)f(F)-8
b(ree)25 b(Soft)m(w)m(are)g(F)-8 b(oun-)330 628 y(dation;)28
b(w)m(e)g(sometimes)g(mak)m(e)g(exceptions)g(for)f(this.)39
b(Our)26 b(decision)g(will)f(b)s(e)h(guided)h(b)m(y)g(the)h(t)m(w)m(o)
330 737 y(goals)23 b(of)g(preserving)e(the)h(free)h(status)g(of)f(all)g
(deriv)-5 b(ativ)m(es)22 b(of)g(our)g(free)h(soft)m(w)m(are)h(and)e(of)
h(promoting)330 847 y(the)31 b(sharing)e(and)g(reuse)h(of)h(soft)m(w)m
(are)h(generally)-8 b(.)330 995 y Fr(NO)45 b(W)-15 b(ARRANTY)154
1187 y Fs(11.)61 b(BECA)m(USE)40 b(THE)f(PR)m(OGRAM)i(IS)e(LICENSED)g
(FREE)g(OF)h(CHAR)m(GE,)h(THERE)e(IS)g(NO)330 1297 y(W)-10
b(ARRANTY)26 b(F)m(OR)f(THE)g(PR)m(OGRAM,)h(TO)e(THE)h(EXTENT)f
(PERMITTED)h(BY)g(APPLI-)330 1406 y(CABLE)i(LA)-10 b(W.)27
b(EX)m(CEPT)g(WHEN)h(OTHER)-10 b(WISE)25 b(ST)-8 b(A)g(TED)28
b(IN)e(WRITING)i(THE)e(COPY-)330 1516 y(RIGHT)35 b(HOLDERS)g(AND/OR)h
(OTHER)f(P)-8 b(AR)g(TIES)35 b(PR)m(O)m(VIDE)h(THE)f(PR)m(OGRAM)h(\\AS)
330 1626 y(IS")22 b(WITHOUT)f(W)-10 b(ARRANTY)23 b(OF)f(ANY)g(KIND,)h
(EITHER)e(EXPRESSED)g(OR)h(IMPLIED,)330 1735 y(INCLUDING,)33
b(BUT)g(NOT)g(LIMITED)f(TO,)g(THE)h(IMPLIED)g(W)-10 b(ARRANTIES)32
b(OF)h(MER-)330 1845 y(CHANT)-8 b(ABILITY)28 b(AND)g(FITNESS)e(F)m(OR)i
(A)g(P)-8 b(AR)g(TICULAR)27 b(PURPOSE.)g(THE)g(ENTIRE)330
1954 y(RISK)19 b(AS)h(TO)g(THE)g(QUALITY)g(AND)h(PERF)m(ORMANCE)g(OF)f
(THE)g(PR)m(OGRAM)h(IS)f(WITH)330 2064 y(YOU.)h(SHOULD)g(THE)f(PR)m
(OGRAM)i(PR)m(O)m(VE)f(DEFECTIVE,)g(YOU)g(ASSUME)f(THE)g(COST)330
2174 y(OF)30 b(ALL)g(NECESSAR)-8 b(Y)30 b(SER)-10 b(VICING,)30
b(REP)-8 b(AIR)30 b(OR)g(CORRECTION.)154 2308 y(12.)61
b(IN)26 b(NO)g(EVENT)g(UNLESS)f(REQUIRED)h(BY)h(APPLICABLE)f(LA)-10
b(W)26 b(OR)g(A)m(GREED)h(TO)f(IN)330 2418 y(WRITING)37
b(WILL)f(ANY)i(COPYRIGHT)e(HOLDER,)h(OR)f(ANY)h(OTHER)f(P)-8
b(AR)g(TY)38 b(WHO)330 2527 y(MA)-8 b(Y)52 b(MODIFY)g(AND/OR)g
(REDISTRIBUTE)e(THE)h(PR)m(OGRAM)h(AS)f(PERMITTED)330
2637 y(ABO)m(VE,)40 b(BE)f(LIABLE)f(TO)g(YOU)h(F)m(OR)g(D)m(AMA)m(GES,)
h(INCLUDING)f(ANY)h(GENERAL,)330 2746 y(SPECIAL,)e(INCIDENT)-8
b(AL)40 b(OR)e(CONSEQUENTIAL)g(D)m(AMA)m(GES)j(ARISING)e(OUT)g(OF)330
2856 y(THE)44 b(USE)g(OR)g(INABILITY)h(TO)f(USE)g(THE)g(PR)m(OGRAM)h
(\(INCLUDING)h(BUT)e(NOT)330 2966 y(LIMITED)29 b(TO)g(LOSS)f(OF)h(D)m
(A)-8 b(T)g(A)31 b(OR)e(D)m(A)-8 b(T)g(A)31 b(BEING)f(RENDERED)g(INA)m
(CCURA)-8 b(TE)29 b(OR)330 3075 y(LOSSES)38 b(SUST)-8
b(AINED)40 b(BY)h(YOU)f(OR)g(THIRD)g(P)-8 b(AR)g(TIES)40
b(OR)g(A)h(F)-10 b(AILURE)40 b(OF)g(THE)330 3185 y(PR)m(OGRAM)f(TO)f
(OPERA)-8 b(TE)38 b(WITH)h(ANY)g(OTHER)f(PR)m(OGRAMS\),)h(EVEN)g(IF)f
(SUCH)330 3294 y(HOLDER)33 b(OR)h(OTHER)f(P)-8 b(AR)g(TY)34
b(HAS)f(BEEN)h(AD)m(VISED)g(OF)g(THE)f(POSSIBILITY)f(OF)330
3404 y(SUCH)e(D)m(AMA)m(GES.)150 3661 y Fr(END)45 b(OF)g(TERMS)f(AND)h
(CONDITIONS)p eop
%%Page: 6 8
6 7 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h(LICENSE)2052
b(6)150 299 y Fr(Ho)l(w)46 b(to)f(Apply)f(These)h(T)-11
b(erms)45 b(to)g(Y)-11 b(our)44 b(New)i(Programs)275
503 y Fs(If)38 b(y)m(ou)i(dev)m(elop)f(a)g(new)g(program,)j(and)c(y)m
(ou)i(w)m(an)m(t)g(it)e(to)i(b)s(e)f(of)g(the)h(greatest)h(p)s(ossible)
36 b(use)j(to)150 612 y(the)i(public,)g(the)h(b)s(est)e(w)m(a)m(y)i(to)
g(ac)m(hiev)m(e)g(this)e(is)g(to)i(mak)m(e)g(it)f(free)g(soft)m(w)m
(are)h(whic)m(h)e(ev)m(ery)m(one)j(can)150 722 y(redistribute)28
b(and)i(c)m(hange)h(under)e(these)i(terms.)275 868 y(T)-8
b(o)29 b(do)h(so,)g(attac)m(h)h(the)f(follo)m(wing)e(notices)h(to)i
(the)e(program.)40 b(It)30 b(is)f(safest)h(to)g(attac)m(h)h(them)f(to)g
(the)150 978 y(start)j(of)g(eac)m(h)h(source)e(\014le)g(to)h(most)g
(e\013ectiv)m(ely)h(con)m(v)m(ey)g(the)e(exclusion)g(of)g(w)m(arran)m
(t)m(y;)j(and)d(eac)m(h)i(\014le)150 1087 y(should)28
b(ha)m(v)m(e)k(at)f(least)g(the)f(\\cop)m(yrigh)m(t")i(line)d(and)g(a)i
(p)s(oin)m(ter)f(to)h(where)f(the)g(full)e(notice)j(is)e(found.)390
1227 y Fo(one)i(line)d(to)j(giv)m(e)g(the)g(program's)f(name)h(and)e
(an)i(idea)f(of)g(what)g(it)g(do)s(es.)390 1331 y Fn(Copyright)45
b(\(C\))i Fo(y)m(ear)103 b(name)30 b(of)h(author)390
1539 y Fn(This)47 b(program)e(is)j(free)e(software;)g(you)g(can)h
(redistribute)e(it)i(and/or)390 1642 y(modify)f(it)h(under)g(the)g
(terms)f(of)h(the)g(GNU)g(General)f(Public)g(License)390
1746 y(as)h(published)e(by)j(the)f(Free)f(Software)g(Foundation;)e
(either)j(version)e(2)390 1850 y(of)i(the)g(License,)f(or)h(\(at)g
(your)f(option\))g(any)h(later)f(version.)390 2057 y(This)h(program)e
(is)j(distributed)c(in)k(the)e(hope)h(that)g(it)g(will)g(be)g(useful,)
390 2161 y(but)g(WITHOUT)f(ANY)h(WARRANTY;)e(without)h(even)g(the)h
(implied)f(warranty)g(of)390 2265 y(MERCHANTABILITY)e(or)j(FITNESS)f
(FOR)h(A)g(PARTICULAR)e(PURPOSE.)93 b(See)47 b(the)390
2369 y(GNU)g(General)f(Public)g(License)g(for)h(more)f(details.)390
2576 y(You)h(should)f(have)h(received)e(a)j(copy)e(of)h(the)g(GNU)g
(General)f(Public)g(License)390 2680 y(along)g(with)h(this)g(program;)e
(if)i(not,)g(write)f(to)i(the)e(Free)h(Software)390 2784
y(Foundation,)e(Inc.,)h(59)h(Temple)f(Place,)g(Suite)h(330,)f(Boston,)g
(MA)h(02111-1307,)e(USA.)275 2930 y Fs(Also)30 b(add)f(information)g
(on)h(ho)m(w)h(to)g(con)m(tact)i(y)m(ou)d(b)m(y)g(electronic)h(and)f
(pap)s(er)f(mail.)275 3076 y(If)f(the)g(program)h(is)e(in)m(teractiv)m
(e,)j(mak)m(e)g(it)e(output)g(a)h(short)f(notice)h(lik)m(e)f(this)f
(when)h(it)g(starts)h(in)e(an)150 3185 y(in)m(teractiv)m(e)k(mo)s(de:)
390 3325 y Fn(Gnomovision)45 b(version)h(69,)g(Copyright)g(\(C\))h
Fo(y)m(ear)103 b(name)30 b(of)g(author)390 3429 y Fn(Gnomovision)45
b(comes)h(with)h(ABSOLUTELY)e(NO)i(WARRANTY;)e(for)i(details)390
3533 y(type)g(`show)f(w'.)95 b(This)46 b(is)h(free)g(software,)e(and)i
(you)g(are)g(welcome)390 3637 y(to)g(redistribute)e(it)i(under)f
(certain)g(conditions;)f(type)h(`show)h(c')390 3740 y(for)g(details.)
275 3886 y Fs(The)27 b(h)m(yp)s(othetical)g(commands)h(`)p
Fn(show)h(w)p Fs(')f(and)f(`)p Fn(show)j(c)p Fs(')d(should)f(sho)m(w)i
(the)g(appropriate)f(parts)h(of)150 3996 y(the)38 b(General)g(Public)d
(License.)63 b(Of)37 b(course,)j(the)f(commands)e(y)m(ou)h(use)g(ma)m
(y)g(b)s(e)f(called)g(something)150 4106 y(other)25 b(than)f(`)p
Fn(show)29 b(w)p Fs(')c(and)f(`)p Fn(show)29 b(c)p Fs(';)e(they)d
(could)g(ev)m(en)h(b)s(e)f(mouse-clic)m(ks)g(or)h(men)m(u)f
(items|whatev)m(er)150 4215 y(suits)29 b(y)m(our)h(program.)275
4361 y(Y)-8 b(ou)28 b(should)e(also)i(get)h(y)m(our)f(emplo)m(y)m(er)g
(\(if)f(y)m(ou)h(w)m(ork)g(as)h(a)f(programmer\))g(or)g(y)m(our)f(sc)m
(ho)s(ol,)i(if)e(an)m(y)-8 b(,)150 4471 y(to)34 b(sign)f(a)g(\\cop)m
(yrigh)m(t)i(disclaimer")c(for)j(the)f(program,)h(if)f(necessary)-8
b(.)51 b(Here)34 b(is)e(a)i(sample;)g(alter)g(the)150
4580 y(names:)390 4720 y Fn(Yoyodyne,)45 b(Inc.,)i(hereby)f(disclaims)f
(all)i(copyright)390 4824 y(interest)f(in)h(the)g(program)e
(`Gnomovision')390 4928 y(\(which)h(makes)g(passes)h(at)g(compilers\))e
(written)390 5032 y(by)i(James)g(Hacker.)390 5239 y Fo(signature)30
b(of)g(T)m(y)h(Co)s(on)p Fn(,)47 b(1)g(April)g(1989)390
5343 y(Ty)g(Coon,)g(President)e(of)i(Vice)p eop
%%Page: 7 9
7 8 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h(LICENSE)2052
b(7)275 299 y(This)19 b(General)h(Public)f(License)h(do)s(es)h(not)g(p)
s(ermit)e(incorp)s(orating)g(y)m(our)i(program)f(in)m(to)h(proprietary)
150 408 y(programs.)38 b(If)22 b(y)m(our)h(program)f(is)g(a)h
(subroutine)e(library)-8 b(,)23 b(y)m(ou)g(ma)m(y)g(consider)f(it)g
(more)h(useful)e(to)j(p)s(ermit)150 518 y(linking)33
b(proprietary)i(applications)g(with)g(the)h(library)-8
b(.)57 b(If)35 b(this)h(is)f(what)h(y)m(ou)h(w)m(an)m(t)g(to)g(do,)h
(use)e(the)150 628 y(GNU)31 b(Library)e(General)h(Public)e(License)i
(instead)f(of)i(this)e(License.)p eop
%%Page: 8 10
8 9 bop 150 -116 a Fs(Con)m(tributors)29 b(to)i(GNU)g
Fn(gperf)e Fs(Utilit)m(y)2137 b(8)150 299 y Fp(Con)l(tributors)51
b(to)i(GNU)h Fm(gperf)f Fp(Utilit)l(y)225 533 y Fq(\017)60
b Fs(The)45 b(GNU)h Fn(gperf)d Fs(p)s(erfect)j(hash)e(function)g
(generator)j(utilit)m(y)c(w)m(as)j(written)e(in)g(GNU)i(C)p
Fn(++)330 643 y Fs(b)m(y)e(Douglas)h(C.)g(Sc)m(hmidt.)82
b(The)44 b(general)h(idea)f(for)g(the)h(p)s(erfect)g(hash)e(function)h
(generator)330 752 y(w)m(as)34 b(inspired)c(b)m(y)j(Keith)f(Bostic's)j
(algorithm)d(written)g(in)g(C,)h(and)g(distributed)d(to)k(net.sources)
330 862 y(around)42 b(1984.)79 b(The)42 b(curren)m(t)g(program)h(is)f
(a)h(hea)m(vily)f(mo)s(di\014ed,)h(enhanced,)j(and)c(extended)330
971 y(implemen)m(tation)36 b(of)h(Keith's)f(basic)h(idea,)h(created)g
(at)g(the)f(Univ)m(ersit)m(y)f(of)i(California,)e(Irvine.)330
1081 y(Bugs,)31 b(patc)m(hes,)g(and)f(suggestions)g(should)f(b)s(e)g
(rep)s(orted)h(to)h Fn(<bug-gnu-gperf@gnu.org>)p Fs(.)225
1215 y Fq(\017)60 b Fs(Sp)s(ecial)31 b(thanks)i(is)f(extended)h(to)h
(Mic)m(hael)f(Tiemann)f(and)h(Doug)h(Lea,)g(for)f(pro)m(viding)e(a)j
(useful)330 1325 y(compiler,)29 b(and)h(for)g(giving)f(me)i(a)g(forum)e
(to)i(exhibit)e(m)m(y)h(creation.)330 1460 y(In)22 b(addition,)g(Adam)h
(de)f(Bo)s(or)h(and)f(Nels)h(Olson)e(pro)m(vided)g(man)m(y)i(tips)e
(and)h(insigh)m(ts)f(that)i(greatly)330 1569 y(help)s(ed)28
b(impro)m(v)m(e)j(the)f(qualit)m(y)g(and)g(functionalit)m(y)e(of)j
Fn(gperf)p Fs(.)225 1704 y Fq(\017)60 b Fs(Bruno)26 b(Haible)g
(enhanced)h(and)f(optimized)g(the)h(searc)m(h)h(algorithm.)39
b(He)27 b(also)g(rewrote)h(the)f(input)330 1813 y(routines)i(and)h(the)
h(output)f(routines)f(for)h(b)s(etter)g(reliabilit)m(y)-8
b(,)28 b(and)i(added)g(a)h(testsuite.)p eop
%%Page: 9 11
9 10 bop 150 -116 a Fs(Chapter)30 b(1:)41 b(In)m(tro)s(duction)2591
b(9)150 299 y Fp(1)80 b(In)l(tro)t(duction)275 533 y
Fn(gperf)31 b Fs(is)i(a)g(p)s(erfect)h(hash)e(function)g(generator)j
(written)d(in)g(C)p Fn(++)p Fs(.)49 b(It)33 b(transforms)g(an)g
Fo(n)f Fs(elemen)m(t)150 643 y(user-sp)s(eci\014ed)j(k)m(eyw)m(ord)j
(set)g Fo(W)49 b Fs(in)m(to)38 b(a)f(p)s(erfect)h(hash)e(function)g
Fo(F)p Fs(.)i Fo(F)44 b Fs(uniquely)35 b(maps)i(k)m(eyw)m(ords)150
752 y(in)d Fo(W)47 b Fs(on)m(to)36 b(the)f(range)g(0..)p
Fo(k)p Fs(,)j(where)c Fo(k)40 b Fn(>)p Fs(=)35 b Fo(n-1)p
Fs(.)54 b(If)35 b Fo(k)40 b Fs(=)35 b Fo(n-1)42 b Fs(then)35
b Fo(F)42 b Fs(is)34 b(a)h Fl(minimal)46 b Fs(p)s(erfect)35
b(hash)150 862 y(function.)67 b Fn(gperf)39 b Fs(generates)i(a)f(0..)p
Fo(k)46 b Fs(elemen)m(t)40 b(static)g(lo)s(okup)f(table)g(and)g(a)i
(pair)d(of)i(C)f(functions.)150 971 y(These)34 b(functions)f(determine)
h(whether)f(a)i(giv)m(en)f(c)m(haracter)i(string)e Fo(s)k
Fs(o)s(ccurs)c(in)f Fo(W)p Fs(,)i(using)d(at)k(most)150
1081 y(one)31 b(prob)s(e)e(in)m(to)h(the)h(lo)s(okup)e(table.)275
1215 y Fn(gperf)22 b Fs(curren)m(tly)g(generates)k(the)d(reserv)m(ed)h
(k)m(eyw)m(ord)g(recognizer)h(for)e(lexical)g(analyzers)g(in)g(sev)m
(eral)150 1325 y(pro)s(duction)29 b(and)h(researc)m(h)h(compilers)e
(and)i(language)g(pro)s(cessing)e(to)s(ols,)i(including)c(GNU)32
b(C,)e(GNU)150 1435 y(C)p Fn(++)p Fs(,)24 b(GNU)f(Ja)m(v)-5
b(a,)26 b(GNU)d(P)m(ascal,)i(GNU)f(Mo)s(dula)e(3,)j(and)d(GNU)h(inden)m
(t.)37 b(Complete)23 b(C)p Fn(++)f Fs(source)h(co)s(de)150
1544 y(for)42 b Fn(gperf)f Fs(is)g(a)m(v)-5 b(ailable)41
b(from)h Fn(http://ftp.gnu.org/pub/g)o(nu/g)o(perf)o(/)p
Fs(.)70 b(A)42 b(pap)s(er)f(describing)150 1654 y Fn(gperf)p
Fs('s)d(design)h(and)g(implemen)m(tation)g(in)f(greater)j(detail)e(is)g
(a)m(v)-5 b(ailable)39 b(in)g(the)h(Second)f(USENIX)150
1763 y(C)p Fn(++)29 b Fs(Conference)g(pro)s(ceedings)g(or)h(from)f
Fn(http://www.cs.wustl.edu)o(/~sc)o(hmid)o(t/r)o(esum)o(e.ht)o(ml)p
Fs(.)p eop
%%Page: 10 12
10 11 bop 150 -116 a Fs(Chapter)30 b(2:)41 b(Static)31
b(searc)m(h)g(structures)e(and)h(GNU)h Fn(gperf)1425
b Fs(10)150 299 y Fp(2)80 b(Static)54 b(searc)l(h)f(structures)e(and)j
(GNU)f Fm(gperf)275 533 y Fs(A)24 b Fo(static)h(searc)m(h)g(structure)k
Fs(is)24 b(an)g(Abstract)h(Data)i(T)m(yp)s(e)c(with)h(certain)g
(fundamen)m(tal)f(op)s(erations,)150 643 y(e.g.,)32 b
Fl(initialize)p Fs(,)g Fl(insert)p Fs(,)f(and)f Fl(r)-5
b(etrieve)p Fs(.)42 b(Conceptually)-8 b(,)30 b(all)g(insertions)f(o)s
(ccur)h(b)s(efore)h(an)m(y)g(retriev)-5 b(als.)150 752
y(In)20 b(practice,)k Fn(gperf)19 b Fs(generates)k(a)e
Fl(static)27 b Fs(arra)m(y)22 b(con)m(taining)e(searc)m(h)i(set)f(k)m
(eyw)m(ords)h(and)e(an)m(y)h(asso)s(ciated)150 862 y(attributes)36
b(sp)s(eci\014ed)f(b)m(y)i(the)f(user.)59 b(Th)m(us,)37
b(there)g(is)f(essen)m(tially)f(no)i(execution-time)g(cost)g(for)g(the)
150 971 y(insertions.)h(It)27 b(is)f(a)h(useful)f(data)h(structure)g
(for)g(represen)m(ting)f Fl(static)k(se)-5 b(ar)g(ch)32
b(sets)p Fs(.)40 b(Static)27 b(searc)m(h)h(sets)150 1081
y(o)s(ccur)c(frequen)m(tly)g(in)f(soft)m(w)m(are)j(system)e
(applications.)37 b(T)m(ypical)23 b(static)i(searc)m(h)g(sets)g
(include)d(compiler)150 1191 y(reserv)m(ed)42 b(w)m(ords,)j(assem)m
(bler)d(instruction)e(op)s(co)s(des,)45 b(and)c(built-in)e(shell)i(in)m
(terpreter)g(commands.)150 1300 y(Searc)m(h)h(set)g(mem)m(b)s(ers,)h
(called)e Fo(k)m(eyw)m(ords)p Fs(,)k(are)c(inserted)g(in)m(to)g(the)h
(structure)f(only)f(once,)45 b(usually)150 1410 y(during)28
b(program)i(initialization,)e(and)i(are)g(not)h(generally)f(mo)s
(di\014ed)e(at)j(run-time.)275 1544 y(Numerous)c(static)h(searc)m(h)h
(structure)e(implemen)m(tations)f(exist,)j(e.g.,)g(arra)m(ys,)g(link)m
(ed)e(lists,)g(binary)150 1654 y(searc)m(h)45 b(trees,)j(digital)42
b(searc)m(h)j(tries,)i(and)c(hash)g(tables.)82 b(Di\013eren)m(t)44
b(approac)m(hes)h(o\013er)f(trade-o\013s)150 1763 y(b)s(et)m(w)m(een)e
(space)h(utilization)c(and)j(searc)m(h)g(time)f(e\016ciency)-8
b(.)76 b(F)-8 b(or)42 b(example,)j(an)c Fo(n)h Fs(elemen)m(t)g(sorted)
150 1873 y(arra)m(y)e(is)f(space)i(e\016cien)m(t,)h(though)e(the)g(a)m
(v)m(erage-case)k(time)39 b(complexit)m(y)h(for)g(retriev)-5
b(al)39 b(op)s(erations)150 1983 y(using)30 b(binary)f(searc)m(h)j(is)e
(prop)s(ortional)f(to)i(log)h Fo(n)p Fs(.)42 b(Con)m(v)m(ersely)-8
b(,)32 b(hash)e(table)h(implemen)m(tations)f(often)150
2092 y(lo)s(cate)c(a)g(table)f(en)m(try)h(in)e(constan)m(t)j(time,)f
(but)f(t)m(ypically)f(imp)s(ose)g(additional)g(memory)h(o)m(v)m(erhead)
i(and)150 2202 y(exhibit)i(p)s(o)s(or)g(w)m(orst)i(case)g(p)s
(erformance.)275 2336 y Fl(Minimal)26 b(p)-5 b(erfe)g(ct)28
b(hash)f(functions)32 b Fs(pro)m(vide)23 b(an)g(optimal)g(solution)f
(for)h(a)h(particular)e(class)i(of)f(static)150 2446
y(searc)m(h)31 b(sets.)41 b(A)31 b(minimal)c(p)s(erfect)j(hash)g
(function)f(is)h(de\014ned)f(b)m(y)h(t)m(w)m(o)i(prop)s(erties:)225
2580 y Fq(\017)60 b Fs(It)34 b(allo)m(ws)g(k)m(eyw)m(ord)h(recognition)
f(in)f(a)i(static)g(searc)m(h)g(set)g(using)e(at)i(most)g
Fl(one)41 b Fs(prob)s(e)33 b(in)m(to)i(the)330 2690 y(hash)30
b(table.)40 b(This)29 b(represen)m(ts)h(the)h(\\p)s(erfect")g(prop)s
(ert)m(y)-8 b(.)225 2824 y Fq(\017)60 b Fs(The)35 b(actual)i(memory)f
(allo)s(cated)g(to)g(store)h(the)f(k)m(eyw)m(ords)h(is)e(precisely)f
(large)i(enough)g(for)g(the)330 2934 y(k)m(eyw)m(ord)31
b(set,)g(and)f Fl(no)j(lar)-5 b(ger)p Fs(.)42 b(This)28
b(is)i(the)g(\\minimal")f(prop)s(ert)m(y)-8 b(.)275 3093
y(F)g(or)38 b(most)g(applications)e(it)h(is)g(far)g(easier)h(to)g
(generate)h Fl(p)-5 b(erfe)g(ct)47 b Fs(hash)37 b(functions)f(than)i
Fl(minimal)150 3203 y(p)-5 b(erfe)g(ct)47 b Fs(hash)36
b(functions.)59 b(Moreo)m(v)m(er,)41 b(non-minimal)34
b(p)s(erfect)j(hash)f(functions)f(frequen)m(tly)i(execute)150
3313 y(faster)44 b(than)g(minimal)d(ones)j(in)e(practice.)82
b(This)42 b(phenomena)h(o)s(ccurs)g(since)g(searc)m(hing)h(a)g(sparse)
150 3422 y(k)m(eyw)m(ord)34 b(table)f(increases)g(the)h(probabilit)m(y)
c(of)k(lo)s(cating)f(a)g(\\n)m(ull")g(en)m(try)-8 b(,)35
b(thereb)m(y)e(reducing)f(string)150 3532 y(comparisons.)55
b Fn(gperf)p Fs('s)34 b(default)g(b)s(eha)m(vior)g(generates)j
Fl(ne)-5 b(ar-minimal)47 b Fs(p)s(erfect)35 b(hash)f(functions)g(for)
150 3641 y(k)m(eyw)m(ord)40 b(sets.)68 b(Ho)m(w)m(ev)m(er,)44
b Fn(gperf)39 b Fs(pro)m(vides)f(man)m(y)i(options)e(that)i(p)s(ermit)e
(user)h(con)m(trol)h(o)m(v)m(er)h(the)150 3751 y(degree)31
b(of)g(minimalit)m(y)c(and)j(p)s(erfection.)275 3885
y(Static)36 b(searc)m(h)g(sets)g(often)g(exhibit)e(relativ)m(e)i
(stabilit)m(y)e(o)m(v)m(er)j(time.)57 b(F)-8 b(or)36
b(example,)h(Ada's)f(63)h(re-)150 3995 y(serv)m(ed)31
b(w)m(ords)f(ha)m(v)m(e)i(remained)d(constan)m(t)j(for)f(nearly)f(a)h
(decade.)42 b(It)31 b(is)f(therefore)h(frequen)m(tly)f(w)m(orth-)150
4105 y(while)20 b(to)j(exp)s(end)e(concerted)i(e\013ort)g(building)18
b(an)k(optimal)g(searc)m(h)g(structure)g Fl(onc)-5 b(e)p
Fs(,)25 b(if)c(it)g(subsequen)m(tly)150 4214 y(receiv)m(es)j(hea)m(vy)g
(use)e(m)m(ultiple)f(times.)38 b Fn(gperf)22 b Fs(remo)m(v)m(es)i(the)f
(drudgery)f(asso)s(ciated)i(with)d(constructing)150 4324
y(time-)37 b(and)g(space-e\016cien)m(t)i(searc)m(h)e(structures)g(b)m
(y)g(hand.)61 b(It)37 b(has)g(pro)m(v)m(en)h(a)f(useful)f(and)g
(practical)150 4433 y(to)s(ol)28 b(for)g(serious)f(programming)g(pro)5
b(jects.)40 b(Output)27 b(from)h Fn(gperf)e Fs(is)h(curren)m(tly)h
(used)f(in)g(sev)m(eral)h(pro-)150 4543 y(duction)d(and)f(researc)m(h)j
(compilers,)e(including)d(GNU)k(C,)g(GNU)g(C)p Fn(++)p
Fs(,)g(GNU)g(Ja)m(v)-5 b(a,)28 b(GNU)e(P)m(ascal,)i(and)150
4653 y(GNU)38 b(Mo)s(dula)e(3.)63 b(The)36 b(latter)i(t)m(w)m(o)h
(compilers)d(are)h(not)h(y)m(et)h(part)e(of)g(the)h(o\016cial)f(GNU)h
(distribu-)150 4762 y(tion.)50 b(Eac)m(h)34 b(compiler)e(utilizes)g
Fn(gperf)g Fs(to)i(automatically)f(generate)i(static)f(searc)m(h)g
(structures)f(that)150 4872 y(e\016cien)m(tly)d(iden)m(tify)f(their)g
(resp)s(ectiv)m(e)i(reserv)m(ed)f(k)m(eyw)m(ords.)p eop
%%Page: 11 13
11 12 bop 150 -116 a Fs(Chapter)30 b(3:)41 b(High-Lev)m(el)30
b(Description)g(of)g(GNU)h Fn(gperf)1520 b Fs(11)150
299 y Fp(3)80 b(High-Lev)l(el)54 b(Description)f(of)h(GNU)g
Fm(gperf)275 539 y Fs(The)29 b(p)s(erfect)h(hash)g(function)f
(generator)i Fn(gperf)e Fs(reads)h(a)h(set)g(of)f(\\k)m(eyw)m(ords")i
(from)d(an)i(input)d(\014le)150 648 y(\(or)34 b(from)g(the)g(standard)f
(input)f(b)m(y)i(default\).)51 b(It)34 b(attempts)h(to)f(deriv)m(e)g(a)
g(p)s(erfect)g(hashing)e(function)150 758 y(that)37 b(recognizes)h(a)f
(mem)m(b)s(er)f(of)h(the)g Fo(static)g(k)m(eyw)m(ord)g(set)j
Fs(with)35 b(at)j(most)f(a)g(single)e(prob)s(e)h(in)m(to)h(the)150
867 y(lo)s(okup)25 b(table.)40 b(If)26 b Fn(gperf)f Fs(succeeds)i(in)f
(generating)h(suc)m(h)f(a)h(function)e(it)i(pro)s(duces)e(a)i(pair)f
(of)g(C)h(source)150 977 y(co)s(de)39 b(routines)f(that)i(p)s(erform)d
(hashing)h(and)g(table)h(lo)s(okup)e(recognition.)67
b(All)37 b(generated)j(C)f(co)s(de)150 1086 y(is)e(directed)g(to)h(the)
g(standard)f(output.)62 b(Command-line)36 b(options)h(describ)s(ed)e(b)
s(elo)m(w)i(allo)m(w)g(y)m(ou)h(to)150 1196 y(mo)s(dify)29
b(the)h(input)f(and)g(output)h(format)h(to)g Fn(gperf)p
Fs(.)275 1332 y(By)23 b(default,)h Fn(gperf)e Fs(attempts)i(to)g(pro)s
(duce)e(time-e\016cien)m(t)i(co)s(de,)h(with)d(less)h(emphasis)e(on)i
(e\016cien)m(t)150 1442 y(space)31 b(utilization.)39
b(Ho)m(w)m(ev)m(er,)33 b(sev)m(eral)d(options)g(exist)g(that)h(p)s
(ermit)e(trading-o\013)h(execution)h(time)f(for)150 1552
y(storage)j(space)f(and)g(vice)f(v)m(ersa.)46 b(In)31
b(particular,)f(expanding)g(the)i(generated)h(table)f(size)f(pro)s
(duces)g(a)150 1661 y(sparse)26 b(searc)m(h)g(structure,)h(generally)e
(yielding)e(faster)k(searc)m(hes.)40 b(Con)m(v)m(ersely)-8
b(,)27 b(y)m(ou)g(can)f(direct)f Fn(gperf)150 1771 y
Fs(to)c(utilize)e(a)i(C)f Fn(switch)f Fs(statemen)m(t)k(sc)m(heme)e
(that)g(minimizes)d(data)j(space)g(storage)h(size.)38
b(F)-8 b(urthermore,)150 1880 y(using)39 b(a)h(C)g Fn(switch)e
Fs(ma)m(y)i(actually)g(sp)s(eed)f(up)g(the)h(k)m(eyw)m(ord)h(retriev)-5
b(al)39 b(time)h(somewhat.)70 b(Actual)150 1990 y(results)29
b(dep)s(end)g(on)h(y)m(our)g(C)g(compiler,)g(of)g(course.)275
2126 y(In)44 b(general,)49 b Fn(gperf)44 b Fs(assigns)g(v)-5
b(alues)45 b(to)h(the)f(b)m(ytes)h(it)f(is)f(using)g(for)h(hashing)e
(un)m(til)h(some)h(set)150 2236 y(of)d(v)-5 b(alues)42
b(giv)m(es)g(eac)m(h)i(k)m(eyw)m(ord)e(a)h(unique)d(v)-5
b(alue.)76 b(A)42 b(helpful)d(heuristic)i(is)g(that)i(the)f(larger)g
(the)150 2345 y(hash)36 b(v)-5 b(alue)36 b(range,)j(the)e(easier)g(it)f
(is)g(for)g Fn(gperf)f Fs(to)j(\014nd)d(and)h(generate)i(a)f(p)s
(erfect)g(hash)f(function.)150 2455 y(Exp)s(erimen)m(tation)29
b(is)g(the)i(k)m(ey)g(to)g(getting)g(the)g(most)g(from)e
Fn(gperf)p Fs(.)150 2717 y Fr(3.1)68 b(Input)44 b(F)-11
b(ormat)46 b(to)f Fk(gperf)275 2911 y Fs(Y)-8 b(ou)38
b(can)g(con)m(trol)h(the)f(input)e(\014le)h(format)h(b)m(y)g(v)-5
b(arying)37 b(certain)g(command-line)g(argumen)m(ts,)j(in)150
3021 y(particular)d(the)i(`)p Fn(-t)p Fs(')g(option.)65
b(The)38 b(input's)f(app)s(earance)i(is)f(similar)e(to)j(GNU)h
(utilities)c Fn(flex)i Fs(and)150 3131 y Fn(bison)29
b Fs(\(or)i(UNIX)f(utilities)e Fn(lex)i Fs(and)f Fn(yacc)p
Fs(\).)40 b(Here's)31 b(an)g(outline)e(of)h(the)h(general)f(format:)390
3261 y Fn(declarations)390 3365 y(\045\045)390 3469 y(keywords)390
3572 y(\045\045)390 3676 y(functions)275 3806 y Fl(Unlike)41
b Fn(flex)35 b Fs(or)g Fn(bison)p Fs(,)h(the)g(declarations)e(section)i
(and)f(the)h(functions)e(section)i(are)g(optional.)150
3915 y(The)30 b(follo)m(wing)f(sections)h(describ)s(e)f(the)h(input)f
(format)i(for)f(eac)m(h)h(section.)275 4051 y(It)h(is)f(p)s(ossible)f
(to)j(omit)f(the)h(declaration)f(section)g(en)m(tirely)-8
b(,)33 b(if)e(the)i(`)p Fn(-t)p Fs(')f(option)g(is)f(not)i(giv)m(en.)47
b(In)150 4161 y(this)29 b(case)j(the)e(input)f(\014le)g(b)s(egins)g
(directly)g(with)g(the)i(\014rst)e(k)m(eyw)m(ord)i(line,)e(e.g.:)390
4292 y Fn(january)390 4395 y(february)390 4499 y(march)390
4603 y(april)390 4707 y(...)150 4926 y Fj(3.1.1)63 b(Declarations)275
5121 y Fs(The)33 b(k)m(eyw)m(ord)i(input)e(\014le)g(optionally)g(con)m
(tains)i(a)g(section)f(for)g(including)d(arbitrary)j(C)g(declara-)150
5230 y(tions)c(and)f(de\014nitions,)f Fn(gperf)h Fs(declarations)h
(that)h(act)g(lik)m(e)f(command-line)f(options,)h(as)g(w)m(ell)g(as)g
(for)150 5340 y(pro)m(viding)e(a)j(user-supplied)c Fn(struct)p
Fs(.)p eop
%%Page: 12 14
12 13 bop 150 -116 a Fs(Chapter)30 b(3:)41 b(High-Lev)m(el)30
b(Description)g(of)g(GNU)h Fn(gperf)1520 b Fs(12)150
299 y Fj(3.1.1.1)63 b(User-supplied)43 b Fi(struct)275
487 y Fs(If)24 b(the)h(`)p Fn(-t)p Fs(')f(option)g(\(or,)j(equiv)-5
b(alen)m(tly)d(,)25 b(the)g(`)p Fn(\045struct-type)p
Fs(')d(declaration\))i Fl(is)32 b Fs(enabled,)25 b(y)m(ou)g
Fl(must)150 597 y Fs(pro)m(vide)36 b(a)g(C)h Fn(struct)d
Fs(as)j(the)g(last)f(comp)s(onen)m(t)h(in)e(the)i(declaration)f
(section)g(from)g(the)h(input)e(\014le.)150 706 y(The)26
b(\014rst)f(\014eld)g(in)g(this)g(struct)h(m)m(ust)g(b)s(e)g(of)g(t)m
(yp)s(e)g Fn(char)j(*)d Fs(or)g Fn(const)j(char)h(*)25
b Fs(if)g(the)i(`)p Fn(-P)p Fs(')f(option)f(is)h(not)150
816 y(giv)m(en,)k(or)h(of)f(t)m(yp)s(e)g Fn(int)g Fs(if)f(the)h(option)
g(`)p Fn(-P)p Fs(')g(\(or,)h(equiv)-5 b(alen)m(tly)d(,)29
b(the)i(`)p Fn(\045pic)p Fs(')e(declaration\))h(is)g(enabled.)150
926 y(This)k(\014rst)g(\014eld)g(m)m(ust)i(b)s(e)e(called)h(`)p
Fn(name)p Fs(',)h(although)f(it)g(is)g(p)s(ossible)e(to)j(mo)s(dify)d
(its)i(name)h(with)e(the)150 1035 y(`)p Fn(-K)p Fs(')c(option)g(\(or,)h
(equiv)-5 b(alen)m(tly)d(,)30 b(the)g(`)p Fn(\045define)f(slot-name)p
Fs(')f(declaration\))i(describ)s(ed)f(b)s(elo)m(w.)275
1165 y(Here)h(is)g(a)h(simple)d(example,)i(using)f(mon)m(ths)h(of)h
(the)f(y)m(ear)i(and)d(their)h(attributes)g(as)g(input:)390
1290 y Fn(struct)46 b(months)g({)i(char)e(*name;)g(int)h(number;)f(int)
h(days;)f(int)h(leap_days;)e(};)390 1393 y(\045\045)390
1497 y(january,)141 b(1,)47 b(31,)g(31)390 1601 y(february,)93
b(2,)47 b(28,)g(29)390 1705 y(march,)237 b(3,)47 b(31,)g(31)390
1809 y(april,)237 b(4,)47 b(30,)g(30)390 1912 y(may,)333
b(5,)47 b(31,)g(31)390 2016 y(june,)285 b(6,)47 b(30,)g(30)390
2120 y(july,)285 b(7,)47 b(31,)g(31)390 2224 y(august,)189
b(8,)47 b(31,)g(31)390 2327 y(september,)e(9,)i(30,)g(30)390
2431 y(october,)93 b(10,)47 b(31,)g(31)390 2535 y(november,)e(11,)i
(30,)g(30)390 2639 y(december,)e(12,)i(31,)g(31)275 2762
y Fs(Separating)24 b(the)h Fn(struct)f Fs(declaration)g(from)h(the)g
(list)f(of)h(k)m(eyw)m(ords)h(and)e(other)h(\014elds)f(are)h(a)h(pair)e
(of)150 2871 y(consecutiv)m(e)32 b(p)s(ercen)m(t)g(signs,)e(`)p
Fn(\045\045)p Fs(',)i(app)s(earing)e(left)h(justi\014ed)e(in)h(the)i
(\014rst)e(column,)h(as)g(in)f(the)i(UNIX)150 2981 y(utilit)m(y)d
Fn(lex)p Fs(.)150 3192 y Fj(3.1.1.2)63 b(Gp)s(erf)42
b(Declarations)275 3381 y Fs(The)31 b(declaration)h(section)h(can)f
(con)m(tain)h Fn(gperf)d Fs(declarations.)46 b(They)32
b(in\015uence)f(the)h(w)m(a)m(y)h Fn(gperf)150 3490 y
Fs(w)m(orks,)43 b(lik)m(e)d(command)h(line)e(options)h(do.)72
b(In)40 b(fact,)k(ev)m(ery)e(suc)m(h)e(declaration)g(is)g(equiv)-5
b(alen)m(t)40 b(to)i(a)150 3600 y(command)30 b(line)f(option.)40
b(There)30 b(are)h(three)f(forms)g(of)h(declarations:)199
3730 y(1.)61 b(Declarations)31 b(without)e(argumen)m(t,)i(lik)m(e)f(`)p
Fn(\045compare-lengths)p Fs('.)199 3860 y(2.)61 b(Declarations)31
b(with)e(an)h(argumen)m(t,)h(lik)m(e)f(`)p Fn(\045switch=)p
Fo(coun)m(t)r Fs('.)199 3990 y(3.)61 b(Declarations)112
b(of)g(names)g(of)g(en)m(tities)g(in)e(the)i(output)g(\014le,)131
b(lik)m(e)112 b(`)p Fn(\045define)330 4100 y(lookup-function-name)25
b Fo(name)5 b Fs('.)275 4251 y(When)35 b(a)h(declaration)f(is)g(giv)m
(en)g(b)s(oth)g(in)g(the)g(input)f(\014le)h(and)g(as)h(a)g(command)f
(line)f(option,)j(the)150 4360 y(command-line)29 b(option's)h(v)-5
b(alue)30 b(prev)-5 b(ails.)275 4490 y(The)29 b(follo)m(wing)g
Fn(gperf)g Fs(declarations)h(are)h(a)m(v)-5 b(ailable.)150
4641 y(`)p Fn(\045delimiters=)p Fo(delimiter-lis)o(t)r
Fs(')630 4751 y(Allo)m(ws)28 b(y)m(ou)h(to)g(pro)m(vide)f(a)h(string)f
(con)m(taining)g(delimiters)f(used)g(to)j(separate)g(k)m(eyw)m(ords)630
4860 y(from)k(their)g(attributes.)53 b(The)34 b(default)f(is)h
Fn(")p Fs(,)p Fn(")p Fs(.)53 b(This)33 b(option)h(is)f(essen)m(tial)i
(if)e(y)m(ou)i(w)m(an)m(t)630 4970 y(to)c(use)f(k)m(eyw)m(ords)h(that)g
(ha)m(v)m(e)g(em)m(b)s(edded)f(commas)h(or)f(newlines.)150
5121 y(`)p Fn(\045struct-type)p Fs(')630 5230 y(Allo)m(ws)g(y)m(ou)g
(to)i(include)c(a)j Fn(struct)d Fs(t)m(yp)s(e)j(declaration)f(for)g
(generated)i(co)s(de;)f(see)g(ab)s(o)m(v)m(e)630 5340
y(for)f(an)g(example.)p eop
%%Page: 13 15
13 14 bop 150 -116 a Fs(Chapter)30 b(3:)41 b(High-Lev)m(el)30
b(Description)g(of)g(GNU)h Fn(gperf)1520 b Fs(13)150
299 y(`)p Fn(\045ignore-case)p Fs(')630 408 y(Consider)42
b(upp)s(er)g(and)i(lo)m(w)m(er)g(case)h(ASCI)s(I)e(c)m(haracters)i(as)f
(equiv)-5 b(alen)m(t.)81 b(The)44 b(string)630 518 y(comparison)27
b(will)f(use)i(a)h(case)g(insigni\014can)m(t)d(c)m(haracter)k
(comparison.)39 b(Note)29 b(that)g(lo)s(cale)630 628
y(dep)s(enden)m(t)g(case)j(mappings)c(are)j(ignored.)150
783 y(`)p Fn(\045language=)p Fo(language-name)5 b Fs(')630
892 y(Instructs)33 b Fn(gperf)f Fs(to)i(generate)h(co)s(de)f(in)e(the)i
(language)g(sp)s(eci\014ed)d(b)m(y)j(the)g(option's)f(ar-)630
1002 y(gumen)m(t.)41 b(Languages)31 b(handled)e(are)i(curren)m(tly:)630
1157 y(`)p Fn(KR-C)p Fs(')238 b(Old-st)m(yle)25 b(K&R)h(C.)g(This)e
(language)j(is)f(understo)s(o)s(d)e(b)m(y)i(old-st)m(yle)g(C)g(com-)
1110 1267 y(pilers)c(and)i(ANSI)f(C)h(compilers,)g(but)g(ANSI)f(C)h
(compilers)f(ma)m(y)h(\015ag)h(w)m(arn-)1110 1377 y(ings)k(\(or)i(ev)m
(en)g(errors\))f(b)s(ecause)h(of)f(lac)m(king)g(`)p Fn(const)p
Fs('.)630 1532 y(`)p Fn(C)p Fs(')382 b(Common)23 b(C.)f(This)g
(language)h(is)f(understo)s(o)s(d)f(b)m(y)i(ANSI)g(C)f(compilers,)i
(and)1110 1641 y(also)29 b(b)m(y)f(old-st)m(yle)g(C)h(compilers,)e(pro)
m(vided)g(that)j(y)m(ou)f Fn(#define)f(const)f Fs(to)1110
1751 y(empt)m(y)k(for)f(compilers)f(whic)m(h)g(don't)h(kno)m(w)h(ab)s
(out)f(this)f(k)m(eyw)m(ord.)630 1906 y(`)p Fn(ANSI-C)p
Fs(')142 b(ANSI)39 b(C.)h(This)d(language)j(is)f(understo)s(o)s(d)f(b)m
(y)h(ANSI)g(C)h(compilers)e(and)1110 2016 y(C)p Fn(++)29
b Fs(compilers.)630 2171 y(`)p Fn(C++)p Fs(')286 b(C)p
Fn(++)p Fs(.)40 b(This)28 b(language)j(is)f(understo)s(o)s(d)e(b)m(y)i
(C)p Fn(++)g Fs(compilers.)630 2326 y(The)g(default)f(is)h(C.)150
2482 y(`)p Fn(\045define)f(slot-name)e Fo(name)5 b Fs(')630
2591 y(This)64 b(declaration)i(is)f(only)g(useful)f(when)h(option)g(`)p
Fn(-t)p Fs(')h(\(or,)76 b(equiv)-5 b(alen)m(tly)d(,)74
b(the)630 2701 y(`)p Fn(\045struct-type)p Fs(')27 b(declaration\))j
(has)g(b)s(een)g(giv)m(en.)40 b(By)31 b(default,)e(the)h(program)g
(assumes)630 2810 y(the)48 b(structure)g(comp)s(onen)m(t)h(iden)m
(ti\014er)d(for)i(the)g(k)m(eyw)m(ord)h(is)e(`)p Fn(name)p
Fs('.)94 b(This)46 b(option)630 2920 y(allo)m(ws)e(an)g(arbitrary)f(c)m
(hoice)i(of)g(iden)m(ti\014er)d(for)j(this)e(comp)s(onen)m(t,)48
b(although)c(it)g(still)630 3029 y(m)m(ust)30 b(o)s(ccur)g(as)h(the)g
(\014rst)e(\014eld)g(in)g(y)m(our)i(supplied)c Fn(struct)p
Fs(.)150 3185 y(`)p Fn(\045define)i(initializer-suffix)c
Fo(initializers)t Fs(')630 3294 y(This)64 b(declaration)i(is)f(only)g
(useful)f(when)h(option)g(`)p Fn(-t)p Fs(')h(\(or,)76
b(equiv)-5 b(alen)m(tly)d(,)74 b(the)630 3404 y(`)p Fn(\045struct-type)
p Fs(')33 b(declaration\))j(has)f(b)s(een)g(giv)m(en.)57
b(It)36 b(p)s(ermits)e(to)j(sp)s(ecify)d(initializers)630
3513 y(for)44 b(the)g(structure)g(mem)m(b)s(ers)f(follo)m(wing)f
Fo(slot-name)50 b Fs(in)42 b(empt)m(y)j(hash)e(table)h(en)m(tries.)630
3623 y(The)e(list)e(of)j(initializers)38 b(should)i(start)j(with)e(a)h
(comma.)77 b(By)42 b(default,)j(the)d(emitted)630 3733
y(co)s(de)31 b(will)c(zero-initialize)i(structure)h(mem)m(b)s(ers)g
(follo)m(wing)f Fo(slot-name)p Fs(.)150 3888 y(`)p Fn(\045define)g
(hash-function-name)c Fo(name)5 b Fs(')630 3998 y(Allo)m(ws)29
b(y)m(ou)h(to)g(sp)s(ecify)f(the)h(name)g(for)f(the)h(generated)h(hash)
e(function.)39 b(Default)30 b(name)630 4107 y(is)f(`)p
Fn(hash)p Fs('.)40 b(This)29 b(option)h(p)s(ermits)e(the)j(use)f(of)h
(t)m(w)m(o)g(hash)f(tables)g(in)f(the)i(same)g(\014le.)150
4262 y(`)p Fn(\045define)e(lookup-function-name)24 b
Fo(name)5 b Fs(')630 4372 y(Allo)m(ws)41 b(y)m(ou)h(to)h(sp)s(ecify)d
(the)j(name)f(for)f(the)h(generated)h(lo)s(okup)e(function.)74
b(Default)630 4482 y(name)28 b(is)f(`)p Fn(in_word_set)p
Fs('.)37 b(This)26 b(option)h(p)s(ermits)f(m)m(ultiple)g(generated)i
(hash)f(functions)630 4591 y(to)k(b)s(e)f(used)f(in)g(the)i(same)g
(application.)150 4746 y(`)p Fn(\045define)e(class-name)e
Fo(name)5 b Fs(')630 4856 y(This)65 b(option)i(is)f(only)h(useful)e
(when)i(option)f(`)p Fn(-L)30 b(C++)p Fs(')67 b(\(or,)77
b(equiv)-5 b(alen)m(tly)d(,)76 b(the)630 4966 y(`)p Fn
(\045language=C++)p Fs(')43 b(declaration\))i(has)h(b)s(een)f(giv)m
(en.)87 b(It)46 b(allo)m(ws)f(y)m(ou)h(to)g(sp)s(ecify)f(the)630
5075 y(name)30 b(of)h(generated)g(C)p Fn(++)f Fs(class.)40
b(Default)31 b(name)f(is)g Fn(Perfect_Hash)p Fs(.)150
5230 y(`)p Fn(\0457bit)p Fs(')190 b(This)35 b(option)i(sp)s(eci\014es)f
(that)h(all)f(strings)g(that)i(will)c(b)s(e)j(passed)f(as)i(argumen)m
(ts)f(to)h(the)630 5340 y(generated)e(hash)e(function)f(and)i(the)g
(generated)g(lo)s(okup)f(function)f(will)f(solely)i(consist)p
eop
%%Page: 14 16
14 15 bop 150 -116 a Fs(Chapter)30 b(3:)41 b(High-Lev)m(el)30
b(Description)g(of)g(GNU)h Fn(gperf)1520 b Fs(14)630
299 y(of)33 b(7-bit)g(ASCI)s(I)f(c)m(haracters)j(\(b)m(ytes)f(in)e(the)
h(range)h(0..127\).)51 b(\(Note)35 b(that)f(the)g(ANSI)e(C)630
408 y(functions)e Fn(isalnum)g Fs(and)i Fn(isgraph)e
Fs(do)i Fl(not)41 b Fs(guaran)m(tee)33 b(that)g(a)f(b)m(yte)h(is)e(in)f
(this)h(range.)630 518 y(Only)e(an)h(explicit)f(test)i(lik)m(e)f(`)p
Fn(c)g(>=)g('A')f(&&)h(c)g(<=)g('Z')p Fs(')f(guaran)m(tees)j(this.\))
150 682 y(`)p Fn(\045compare-lengths)p Fs(')630 792 y(Compare)40
b(k)m(eyw)m(ord)g(lengths)f(b)s(efore)g(trying)g(a)i(string)d
(comparison.)69 b(This)38 b(option)h(is)630 902 y(mandatory)32
b(for)h(binary)d(comparisons)i(\(see)h(Section)g(3.3)g([Binary)f
(Strings],)g(page)h(18\).)630 1011 y(It)g(also)g(migh)m(t)g(cut)g(do)m
(wn)f(on)h(the)g(n)m(um)m(b)s(er)f(of)h(string)f(comparisons)g(made)h
(during)e(the)630 1121 y(lo)s(okup,)i(since)g(k)m(eyw)m(ords)g(with)f
(di\013eren)m(t)h(lengths)g(are)g(nev)m(er)h(compared)f(via)g
Fn(strcmp)p Fs(.)630 1230 y(Ho)m(w)m(ev)m(er,)e(using)c(`)p
Fn(\045compare-lengths)p Fs(')d(migh)m(t)k(greatly)h(increase)f(the)h
(size)f(of)h(the)f(gen-)630 1340 y(erated)j(C)f(co)s(de)h(if)e(the)i
(lo)s(okup)e(table)i(range)f(is)g(large)g(\(whic)m(h)g(implies)e(that)j
(the)f(switc)m(h)630 1450 y(option)23 b(`)p Fn(-S)p Fs(')h(or)g(`)p
Fn(\045switch)p Fs(')f(is)g(not)h(enabled\),)h(since)e(the)h(length)g
(table)f(con)m(tains)i(as)f(man)m(y)630 1559 y(elemen)m(ts)31
b(as)f(there)h(are)g(en)m(tries)f(in)f(the)h(lo)s(okup)f(table.)150
1724 y(`)p Fn(\045compare-strncmp)p Fs(')630 1833 y(Generates)22
b(C)f(co)s(de)g(that)h(uses)e(the)i Fn(strncmp)d Fs(function)g(to)j(p)s
(erform)e(string)g(comparisons.)630 1943 y(The)30 b(default)f(action)i
(is)f(to)h(use)f Fn(strcmp)p Fs(.)150 2107 y(`)p Fn
(\045readonly-tables)p Fs(')630 2217 y(Mak)m(es)41 b(the)f(con)m(ten)m
(ts)h(of)f(all)f(generated)h(lo)s(okup)e(tables)i(constan)m(t,)j(i.e.,)
g(\\readonly".)630 2326 y(Man)m(y)31 b(compilers)e(can)i(generate)h
(more)e(e\016cien)m(t)h(co)s(de)g(for)f(this)g(b)m(y)g(putting)f(the)i
(tables)630 2436 y(in)e(readonly)h(memory)-8 b(.)150
2600 y(`)p Fn(\045enum)p Fs(')190 b(De\014ne)31 b(constan)m(t)g(v)-5
b(alues)30 b(using)f(an)h(en)m(um)g(lo)s(cal)g(to)h(the)g(lo)s(okup)e
(function)g(rather)h(than)630 2710 y(with)36 b(#de\014nes.)60
b(This)35 b(also)i(means)h(that)f(di\013eren)m(t)g(lo)s(okup)f
(functions)g(can)h(reside)f(in)630 2819 y(the)31 b(same)f(\014le.)40
b(Thanks)29 b(to)j(James)e(Clark)f Fn(<jjc@ai.mit.edu>)p
Fs(.)150 2984 y(`)p Fn(\045includes)p Fs(')630 3093 y(Include)g(the)i
(necessary)h(system)f(include)e(\014le,)h Fn(<string.h>)p
Fs(,)f(at)i(the)g(b)s(eginning)e(of)i(the)630 3203 y(co)s(de.)39
b(By)27 b(default,)f(this)f(is)g(not)h(done;)i(the)e(user)f(m)m(ust)h
(include)e(this)g(header)i(\014le)f(himself)630 3313
y(to)31 b(allo)m(w)f(compilation)f(of)h(the)h(co)s(de.)150
3477 y(`)p Fn(\045global-table)p Fs(')630 3587 y(Generate)38
b(the)f(static)g(table)f(of)h(k)m(eyw)m(ords)g(as)g(a)g(static)g
(global)f(v)-5 b(ariable,)37 b(rather)f(than)630 3696
y(hiding)28 b(it)i(inside)e(of)i(the)h(lo)s(okup)e(function)g(\(whic)m
(h)g(is)h(the)g(default)g(b)s(eha)m(vior\).)150 3861
y(`)p Fn(\045pic)p Fs(')238 b(Optimize)40 b(the)h(generated)h(table)f
(for)g(inclusion)d(in)i(shared)g(libraries.)70 b(This)39
b(reduces)630 3970 y(the)c(startup)g(time)g(of)g(programs)g(using)f(a)i
(shared)e(library)f(con)m(taining)i(the)g(generated)630
4080 y(co)s(de.)j(If)21 b(the)h(`)p Fn(\045struct-type)p
Fs(')d(declaration)j(\(or,)i(equiv)-5 b(alen)m(tly)d(,)23
b(the)f(option)f(`)p Fn(-t)p Fs('\))h(is)f(also)630 4189
y(giv)m(en,)31 b(the)g(\014rst)e(\014eld)h(of)g(the)h(user-de\014ned)e
(struct)i(m)m(ust)f(b)s(e)g(of)h(t)m(yp)s(e)g(`)p Fn(int)p
Fs(',)f(not)h(`)p Fn(char)630 4299 y(*)p Fs(',)h(b)s(ecause)f(it)h
(will)c(con)m(tain)k(o\013sets)h(in)m(to)e(the)h(string)e(p)s(o)s(ol)h
(instead)f(of)i(actual)g(strings.)630 4408 y(T)-8 b(o)33
b(con)m(v)m(ert)h(suc)m(h)f(an)f(o\013set)i(to)f(a)g(string,)g(y)m(ou)g
(can)g(use)f(the)h(expression)e(`)p Fn(stringpool)630
4518 y(+)f Fo(o)5 b Fs(',)34 b(where)f Fo(o)38 b Fs(is)32
b(the)h(o\013set.)50 b(The)32 b(string)g(p)s(o)s(ol)g(name)h(can)g(b)s
(e)g(c)m(hanged)g(through)g(the)630 4628 y(`)p Fn(\045define)c
(string-pool-name)p Fs(')d(declaration.)150 4792 y(`)p
Fn(\045define)j(string-pool-name)d Fo(name)5 b Fs(')630
4902 y(Allo)m(ws)40 b(y)m(ou)h(to)h(sp)s(ecify)e(the)h(name)g(of)g(the)
g(generated)h(string)e(p)s(o)s(ol)g(created)i(b)m(y)f(the)630
5011 y(declaration)46 b(`)p Fn(\045pic)p Fs(')g(\(or,)51
b(equiv)-5 b(alen)m(tly)d(,)50 b(the)d(option)e(`)p Fn(-P)p
Fs('\).)90 b(The)46 b(default)f(name)i(is)630 5121 y(`)p
Fn(stringpool)p Fs('.)38 b(This)28 b(declaration)h(p)s(ermits)f(the)i
(use)g(of)g(t)m(w)m(o)h(hash)e(tables)g(in)g(the)h(same)630
5230 y(\014le,)38 b(with)d(`)p Fn(\045pic)p Fs(')h(and)g(ev)m(en)h
(when)f(the)h(`)p Fn(\045global-table)p Fs(')c(declaration)j(\(or,)j
(equiv)-5 b(a-)630 5340 y(len)m(tly)d(,)30 b(the)h(option)f(`)p
Fn(-G)p Fs('\))g(is)g(giv)m(en.)p eop
%%Page: 15 17
15 16 bop 150 -116 a Fs(Chapter)30 b(3:)41 b(High-Lev)m(el)30
b(Description)g(of)g(GNU)h Fn(gperf)1520 b Fs(15)150
299 y(`)p Fn(\045null-strings)p Fs(')630 408 y(Use)39
b(NULL)g(strings)e(instead)i(of)f(empt)m(y)i(strings)d(for)i(empt)m(y)g
(k)m(eyw)m(ord)g(table)g(en)m(tries.)630 518 y(This)e(reduces)h(the)h
(startup)g(time)f(of)h(programs)g(using)e(a)i(shared)f(library)e(con)m
(taining)630 628 y(the)29 b(generated)g(co)s(de)g(\(but)f(not)g(as)h(m)
m(uc)m(h)g(as)f(the)h(declaration)f(`)p Fn(\045pic)p
Fs('\),)h(at)g(the)f(exp)s(ense)630 737 y(of)j(one)f(more)h
(test-and-branc)m(h)g(instruction)d(at)j(run)e(time.)150
913 y(`)p Fn(\045define)g(word-array-name)d Fo(name)5
b Fs(')630 1022 y(Allo)m(ws)39 b(y)m(ou)h(to)h(sp)s(ecify)e(the)h(name)
g(for)f(the)i(generated)g(arra)m(y)f(con)m(taining)g(the)g(hash)630
1132 y(table.)105 b(Default)52 b(name)f(is)g(`)p Fn(wordlist)p
Fs('.)103 b(This)50 b(option)h(p)s(ermits)f(the)i(use)g(of)g(t)m(w)m(o)
630 1241 y(hash)37 b(tables)g(in)g(the)h(same)g(\014le,)h(ev)m(en)f
(when)f(the)h(option)f(`)p Fn(-G)p Fs(')h(\(or,)i(equiv)-5
b(alen)m(tly)d(,)39 b(the)630 1351 y(`)p Fn(\045global-table)p
Fs(')27 b(declaration\))k(is)e(giv)m(en.)150 1526 y(`)p
Fn(\045switch=)p Fo(coun)m(t)r Fs(')630 1636 y(Causes)35
b(the)h(generated)h(C)e(co)s(de)h(to)h(use)e(a)h Fn(switch)e
Fs(statemen)m(t)k(sc)m(heme,)g(rather)d(than)630 1746
y(an)j(arra)m(y)g(lo)s(okup)f(table.)63 b(This)36 b(can)i(lead)g(to)g
(a)h(reduction)e(in)f(b)s(oth)h(time)h(and)f(space)630
1855 y(requiremen)m(ts)42 b(for)i(some)f(input)f(\014les.)79
b(The)43 b(argumen)m(t)h(to)g(this)e(option)h(determines)630
1965 y(ho)m(w)33 b(man)m(y)f Fn(switch)f Fs(statemen)m(ts)k(are)e
(generated.)49 b(A)32 b(v)-5 b(alue)33 b(of)f(1)i(generates)g(1)f
Fn(switch)630 2074 y Fs(con)m(taining)23 b(all)e(the)j(elemen)m(ts,)h
(a)e(v)-5 b(alue)22 b(of)i(2)f(generates)h(2)g(tables)e(with)g(1/2)i
(the)g(elemen)m(ts)630 2184 y(in)37 b(eac)m(h)i Fn(switch)p
Fs(,)g(etc.)65 b(This)36 b(is)h(useful)g(since)g(man)m(y)i(C)e
(compilers)g(cannot)i(correctly)630 2294 y(generate)29
b(co)s(de)f(for)f(large)g Fn(switch)f Fs(statemen)m(ts.)41
b(This)26 b(option)h(w)m(as)h(inspired)c(in)i(part)h(b)m(y)630
2403 y(Keith)j(Bostic's)h(original)d(C)i(program.)150
2579 y(`)p Fn(\045omit-struct-type)p Fs(')630 2688 y(Prev)m(en)m(ts)f
(the)e(transfer)h(of)f(the)h(t)m(yp)s(e)g(declaration)f(to)i(the)f
(output)f(\014le.)39 b(Use)28 b(this)e(option)630 2798
y(if)j(the)i(t)m(yp)s(e)f(is)g(already)g(de\014ned)f(elsewhere.)150
3054 y Fj(3.1.1.3)63 b(C)41 b(Co)s(de)g(Inclusion)275
3262 y Fs(Using)25 b(a)h(syn)m(tax)h(similar)c(to)k(GNU)f(utilities)e
Fn(flex)h Fs(and)g Fn(bison)p Fs(,)h(it)f(is)g(p)s(ossible)f(to)i
(directly)f(include)150 3372 y(C)k(source)h(text)g(and)f(commen)m(ts)h
(v)m(erbatim)f(in)m(to)h(the)f(generated)i(output)e(\014le.)39
b(This)28 b(is)g(accomplished)150 3482 y(b)m(y)37 b(enclosing)f(the)i
(region)f(inside)d(left-justi\014ed)i(surrounding)e(`)p
Fn(\045{)p Fs(',)39 b(`)p Fn(\045})p Fs(')e(pairs.)60
b(Here)38 b(is)e(an)h(input)150 3591 y(fragmen)m(t)31
b(based)f(on)g(the)h(previous)e(example)h(that)h(illustrates)d(this)i
(feature:)390 3736 y Fn(\045{)390 3840 y(#include)46
b(<assert.h>)390 3944 y(/*)h(This)g(section)f(of)h(code)f(is)i
(inserted)d(directly)h(into)g(the)h(output.)f(*/)390
4047 y(int)h(return_month_days)c(\(struct)j(months)g(*months,)f(int)i
(is_leap_year\);)390 4151 y(\045})390 4255 y(struct)f(months)g({)i
(char)e(*name;)g(int)h(number;)f(int)h(days;)f(int)h(leap_days;)e(};)
390 4359 y(\045\045)390 4462 y(january,)141 b(1,)47 b(31,)g(31)390
4566 y(february,)93 b(2,)47 b(28,)g(29)390 4670 y(march,)237
b(3,)47 b(31,)g(31)390 4774 y(...)150 5022 y Fj(3.1.2)63
b(F)-10 b(ormat)40 b(for)h(Keyw)m(ord)f(En)m(tries)275
5230 y Fs(The)33 b(second)i(input)d(\014le)i(format)h(section)f(con)m
(tains)h(lines)d(of)j(k)m(eyw)m(ords)g(and)e(an)m(y)i(asso)s(ciated)g
(at-)150 5340 y(tributes)i(y)m(ou)i(migh)m(t)f(supply)-8
b(.)63 b(A)39 b(line)d(b)s(eginning)g(with)h(`)p Fn(#)p
Fs(')i(in)e(the)i(\014rst)f(column)f(is)g(considered)h(a)p
eop
%%Page: 16 18
16 17 bop 150 -116 a Fs(Chapter)30 b(3:)41 b(High-Lev)m(el)30
b(Description)g(of)g(GNU)h Fn(gperf)1520 b Fs(16)150
299 y(commen)m(t.)53 b(Ev)m(erything)33 b(follo)m(wing)f(the)j(`)p
Fn(#)p Fs(')f(is)f(ignored,)h(up)f(to)i(and)e(including)e(the)j(follo)m
(wing)e(new-)150 408 y(line.)55 b(A)36 b(line)f(b)s(eginning)e(with)h
(`)p Fn(\045)p Fs(')i(in)f(the)h(\014rst)f(column)f(is)h(an)h(option)f
(declaration)h(and)f(m)m(ust)h(not)150 518 y(o)s(ccur)30
b(within)e(the)j(k)m(eyw)m(ords)f(section.)275 698 y(The)36
b(\014rst)g(\014eld)f(of)i(eac)m(h)g(non-commen)m(t)h(line)d(is)h(alw)m
(a)m(ys)h(the)g(k)m(eyw)m(ord)g(itself.)58 b(It)37 b(can)g(b)s(e)f(giv)
m(en)150 807 y(in)e(t)m(w)m(o)i(w)m(a)m(ys:)51 b(as)35
b(a)g(simple)e(name,)k(i.e.,)f(without)e(surrounding)e(string)i
(quotation)h(marks,)h(or)f(as)h(a)150 917 y(string)h(enclosed)g(in)f
(double-quotes,)j(in)d(C)i(syn)m(tax,)i(p)s(ossibly)35
b(with)h(bac)m(kslash)h(escap)s(es)h(lik)m(e)f Fn(\\")g
Fs(or)150 1027 y Fn(\\234)23 b Fs(or)i Fn(\\xa8)p Fs(.)37
b(In)24 b(either)g(case,)j(it)d(m)m(ust)g(start)h(righ)m(t)f(at)h(the)g
(b)s(eginning)c(of)k(the)g(line,)f(without)f(leading)150
1136 y(whitespace.)57 b(In)35 b(this)g(con)m(text,)k(a)e(\\\014eld")e
(is)g(considered)g(to)h(extend)g(up)f(to,)j(but)d(not)h(include,)g(the)
150 1246 y(\014rst)i(blank,)h(comma,)j(or)c(newline.)63
b(Here)39 b(is)e(a)i(simple)e(example)h(tak)m(en)h(from)f(a)h(partial)f
(list)f(of)h(C)150 1355 y(reserv)m(ed)31 b(w)m(ords:)390
1529 y Fn(#)47 b(These)g(are)g(a)g(few)g(C)h(reserved)d(words,)h(see)h
(the)g(c.gperf)f(file)390 1633 y(#)h(for)g(a)h(complete)d(list)i(of)g
(ANSI)g(C)g(reserved)f(words.)390 1737 y(unsigned)390
1841 y(sizeof)390 1944 y(switch)390 2048 y(signed)390
2152 y(if)390 2256 y(default)390 2360 y(for)390 2463
y(while)390 2567 y(return)275 2740 y Fs(Note)38 b(that)f(unlik)m(e)e
Fn(flex)h Fs(or)h Fn(bison)e Fs(the)j(\014rst)e(`)p Fn(\045\045)p
Fs(')g(mark)m(er)i(ma)m(y)f(b)s(e)f(elided)f(if)h(the)h(declaration)150
2849 y(section)31 b(is)e(empt)m(y)-8 b(.)275 3029 y(Additional)26
b(\014elds)h(ma)m(y)i(optionally)e(follo)m(w)h(the)h(leading)e(k)m(eyw)
m(ord.)41 b(Fields)27 b(should)f(b)s(e)i(separated)150
3139 y(b)m(y)g(commas,)i(and)d(terminate)i(at)g(the)f(end)g(of)g(line.)
39 b(What)29 b(these)f(\014elds)f(mean)h(is)g(en)m(tirely)f(up)g(to)i
(y)m(ou;)150 3248 y(they)k(are)h(used)e(to)i(initialize)c(the)k(elemen)
m(ts)f(of)g(the)h(user-de\014ned)d Fn(struct)h Fs(pro)m(vided)f(b)m(y)i
(y)m(ou)h(in)e(the)150 3358 y(declaration)38 b(section.)66
b(If)39 b(the)g(`)p Fn(-t)p Fs(')f(option)g(\(or,)k(equiv)-5
b(alen)m(tly)d(,)40 b(the)f(`)p Fn(\045struct-type)p
Fs(')d(declaration\))150 3468 y(is)f Fl(not)45 b Fs(enabled)35
b(these)h(\014elds)f(are)h(simply)d(ignored.)57 b(All)34
b(previous)h(examples)g(except)i(the)f(last)g(one)150
3577 y(con)m(tain)31 b(k)m(eyw)m(ord)g(attributes.)150
3892 y Fj(3.1.3)63 b(Including)41 b(Additional)g(C)g(F)-10
b(unctions)275 4130 y Fs(The)30 b(optional)g(third)f(section)i(also)g
(corresp)s(onds)e(closely)h(with)g(con)m(v)m(en)m(tions)i(found)d(in)h
Fn(flex)g Fs(and)150 4239 y Fn(bison)p Fs(.)36 b(All)21
b(text)i(in)e(this)f(section,)k(starting)e(at)h(the)f(\014nal)e(`)p
Fn(\045\045)p Fs(')i(and)f(extending)h(to)g(the)g(end)g(of)g(the)g
(input)150 4349 y(\014le,)30 b(is)g(included)f(v)m(erbatim)h(in)m(to)h
(the)g(generated)h(output)f(\014le.)41 b(Naturally)-8
b(,)31 b(it)f(is)g(y)m(our)h(resp)s(onsibilit)m(y)150
4459 y(to)g(ensure)f(that)h(the)f(co)s(de)h(con)m(tained)f(in)g(this)f
(section)h(is)g(v)-5 b(alid)28 b(C.)150 4773 y Fj(3.1.4)63
b(Where)41 b(to)g(place)f(directiv)m(es)g(for)h(GNU)h
Fi(indent)p Fj(.)275 5011 y Fs(If)26 b(y)m(ou)i(w)m(an)m(t)g(to)g(in)m
(v)m(ok)m(e)g(GNU)g Fn(indent)e Fs(on)h(a)g Fn(gperf)f
Fs(input)g(\014le,)h(y)m(ou)g(will)e(see)j(that)g(GNU)g
Fn(indent)150 5121 y Fs(do)s(esn't)33 b(understand)e(the)i(`)p
Fn(\045\045)p Fs(',)h(`)p Fn(\045{)p Fs(')e(and)h(`)p
Fn(\045})p Fs(')g(directiv)m(es)f(that)h(con)m(trol)h
Fn(gperf)p Fs('s)d(in)m(terpretation)i(of)150 5230 y(the)23
b(input)e(\014le.)37 b(Therefore)23 b(y)m(ou)g(ha)m(v)m(e)h(to)g
(insert)e(some)h(directiv)m(es)f(for)h(GNU)h Fn(indent)p
Fs(.)36 b(More)24 b(precisely)-8 b(,)150 5340 y(assuming)29
b(the)i(most)f(general)h(input)d(\014le)i(structure)p
eop
%%Page: 17 19
17 18 bop 150 -116 a Fs(Chapter)30 b(3:)41 b(High-Lev)m(el)30
b(Description)g(of)g(GNU)h Fn(gperf)1520 b Fs(17)390
299 y Fn(declarations)44 b(part)j(1)390 403 y(\045{)390
506 y(verbatim)f(code)390 610 y(\045})390 714 y(declarations)e(part)j
(2)390 818 y(\045\045)390 922 y(keywords)390 1025 y(\045\045)390
1129 y(functions)150 1263 y Fs(y)m(ou)31 b(w)m(ould)e(insert)g(`)p
Fn(*INDENT-OFF*)p Fs(')f(and)h(`)p Fn(*INDENT-ON*)p Fs(')f(commen)m(ts)
k(as)e(follo)m(ws:)390 1397 y Fn(/*)47 b(*INDENT-OFF*)e(*/)390
1501 y(declarations)f(part)j(1)390 1605 y(\045{)390 1709
y(/*)g(*INDENT-ON*)e(*/)390 1812 y(verbatim)h(code)390
1916 y(/*)h(*INDENT-OFF*)e(*/)390 2020 y(\045})390 2124
y(declarations)f(part)j(2)390 2227 y(\045\045)390 2331
y(keywords)390 2435 y(\045\045)390 2539 y(/*)g(*INDENT-ON*)e(*/)390
2643 y(functions)150 2906 y Fr(3.2)68 b(Output)45 b(F)-11
b(ormat)45 b(for)g(Generated)h(C)f(Co)t(de)g(with)g Fk(gperf)275
3105 y Fs(Sev)m(eral)27 b(options)g(con)m(trol)h(ho)m(w)f(the)h
(generated)h(C)e(co)s(de)h(app)s(ears)e(on)i(the)g(standard)e(output.)
40 b(Tw)m(o)150 3215 y(C)22 b(function)f(are)h(generated.)39
b(They)22 b(are)h(called)e Fn(hash)g Fs(and)h Fn(in_word_set)p
Fs(,)f(although)g(y)m(ou)i(ma)m(y)g(mo)s(dify)150 3324
y(their)31 b(names)h(with)f(a)h(command-line)f(option.)45
b(Both)33 b(functions)e(require)g(t)m(w)m(o)i(argumen)m(ts,)g(a)g
(string,)150 3434 y Fn(char)c(*)43 b Fo(str)p Fs(,)j(and)d(a)g(length)g
(parameter,)k Fn(int)42 b Fo(len)p Fs(.)78 b(Their)42
b(default)g(function)g(protot)m(yp)s(es)h(are)h(as)150
3543 y(follo)m(ws:)3525 3796 y(F)-8 b(unction)-3725 b
Fh(unsigned)41 b(int)e Fg(hash)44 b Ff(\()p Fn(const)30
b(char)f(*)h Fo(str)p Fn(,)g(unsigned)e(int)h Fo(len)p
Ff(\))390 3905 y Fs(By)35 b(default,)g(the)f(generated)i
Fn(hash)d Fs(function)g(returns)g(an)i(in)m(teger)g(v)-5
b(alue)33 b(created)j(b)m(y)e(adding)390 4015 y Fo(len)27
b Fs(to)h(sev)m(eral)g(user-sp)s(eci\014ed)d Fo(str)34
b Fs(b)m(yte)28 b(p)s(ositions)e(indexed)g(in)m(to)h(an)g
Fo(asso)s(ciated)h(v)-5 b(alues)31 b Fs(table)390 4124
y(stored)d(in)f(a)h(lo)s(cal)g(static)g(arra)m(y)-8 b(.)41
b(The)28 b(asso)s(ciated)g(v)-5 b(alues)28 b(table)g(is)f(constructed)h
(in)m(ternally)e(b)m(y)390 4234 y Fn(gperf)34 b Fs(and)g(later)h
(output)f(as)i(a)f(static)h(lo)s(cal)e(C)g(arra)m(y)i(called)e(`)p
Fn(hash_table)p Fs('.)52 b(The)35 b(relev)-5 b(an)m(t)390
4344 y(selected)27 b(p)s(ositions)e(\(i.e.)40 b(indices)25
b(in)m(to)i Fo(str)7 b Fs(\))26 b(are)h(sp)s(eci\014ed)e(via)i(the)g(`)
p Fn(-k)p Fs(')g(option)f(when)g(running)390 4453 y Fn(gperf)p
Fs(,)j(as)i(detailed)e(in)g(the)i Fl(Options)39 b Fs(section)30
b(b)s(elo)m(w)g(\(see)h(Chapter)f(4)h([Options],)e(page)i(19\).)3525
4705 y(F)-8 b(unction)-3725 b Fg(in)p 253 4705 35 5 v
41 w(w)m(ord)p 542 4705 V 41 w(set)44 b Ff(\()p Fn(const)30
b(char)f(*)h Fo(str)p Fn(,)g(unsigned)e(int)h Fo(len)p
Ff(\))390 4815 y Fs(If)k Fo(str)41 b Fs(is)32 b(in)h(the)h(k)m(eyw)m
(ord)g(set,)i(returns)c(a)j(p)s(oin)m(ter)e(to)h(that)h(k)m(eyw)m(ord.)
51 b(More)35 b(exactly)-8 b(,)36 b(if)d(the)390 4924
y(option)d(`)p Fn(-t)p Fs(')h(\(or,)g(equiv)-5 b(alen)m(tly)d(,)30
b(the)h(`)p Fn(\045struct-type)p Fs(')d(declaration\))i(w)m(as)h(giv)m
(en,)g(it)f(returns)g(a)390 5034 y(p)s(oin)m(ter)f(to)i(the)g(matc)m
(hing)g(k)m(eyw)m(ord's)f(structure.)41 b(Otherwise)29
b(it)h(returns)f Fn(NULL)p Fs(.)275 5230 y(If)39 b(the)i(option)e(`)p
Fn(-c)p Fs(')h(\(or,)j(equiv)-5 b(alen)m(tly)d(,)42 b(the)f(`)p
Fn(\045compare-strncmp)p Fs(')36 b(declaration\))k(is)f(not)h(used,)150
5340 y Fo(str)k Fs(m)m(ust)37 b(b)s(e)f(a)i(NUL)f(terminated)g(string)f
(of)i(exactly)g(length)e Fo(len)p Fs(.)61 b(If)37 b(`)p
Fn(-c)p Fs(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)39 b(the)p
eop
%%Page: 18 20
18 19 bop 150 -116 a Fs(Chapter)30 b(3:)41 b(High-Lev)m(el)30
b(Description)g(of)g(GNU)h Fn(gperf)1520 b Fs(18)150
299 y(`)p Fn(\045compare-strncmp)p Fs(')22 b(declaration\))k(is)f
(used,)h Fo(str)32 b Fs(m)m(ust)26 b(simply)e(b)s(e)h(an)h(arra)m(y)g
(of)g Fo(len)f Fs(b)m(ytes)i(and)e(do)s(es)150 408 y(not)31
b(need)f(to)h(b)s(e)f(NUL)g(terminated.)275 543 y(The)f(co)s(de)i
(generated)g(for)g(these)f(t)m(w)m(o)i(functions)d(is)g(a\013ected)j(b)
m(y)f(the)f(follo)m(wing)f(options:)150 702 y(`)p Fn(-t)p
Fs(')150 812 y(`)p Fn(--struct-type)p Fs(')630 922 y(Mak)m(e)j(use)e
(of)h(the)f(user-de\014ned)f Fn(struct)p Fs(.)150 1081
y(`)p Fn(-S)h Fo(total-switc)m(h-statemen)m(ts)t Fs(')150
1191 y(`)p Fn(--switch=)p Fo(total-switc)m(h-statemen)m(ts)t
Fs(')630 1300 y(Generate)22 b(1)f(or)g(more)g(C)f Fn(switch)f
Fs(statemen)m(t)j(rather)f(than)f(use)h(a)g(large,)i(\(and)d(p)s(oten)m
(tially)630 1410 y(sparse\))j(static)g(arra)m(y)-8 b(.)40
b(Although)22 b(the)h(exact)h(time)f(and)f(space)i(sa)m(vings)f(of)g
(this)f(approac)m(h)630 1519 y(v)-5 b(ary)32 b(according)f(to)i(y)m
(our)e(C)g(compiler's)g(degree)h(of)g(optimization,)f(this)f(metho)s(d)
i(often)630 1629 y(results)d(in)g(smaller)g(and)h(faster)h(co)s(de.)275
1788 y(If)c(the)h(`)p Fn(-t)p Fs(')g(and)f(`)p Fn(-S)p
Fs(')g(options)h(\(or,)g(equiv)-5 b(alen)m(tly)d(,)28
b(the)g(`)p Fn(\045struct-type)p Fs(')d(and)i(`)p Fn(\045switch)p
Fs(')g(declara-)150 1898 y(tions\))e(are)g(omitted,)h(the)f(default)f
(action)h(is)f(to)i(generate)g(a)g Fn(char)j(*)24 b Fs(arra)m(y)i(con)m
(taining)e(the)h(k)m(eyw)m(ords,)150 2007 y(together)32
b(with)d(additional)g(empt)m(y)i(strings)e(used)h(for)g(padding)f(the)h
(arra)m(y)-8 b(.)43 b(By)30 b(exp)s(erimen)m(ting)f(with)150
2117 y(the)i(v)-5 b(arious)31 b(input)e(and)h(output)h(options,)g(and)g
(timing)e(the)j(resulting)d(C)i(co)s(de,)h(y)m(ou)f(can)h(determine)150
2227 y(the)f(b)s(est)f(option)f(c)m(hoices)i(for)g(di\013eren)m(t)e(k)m
(eyw)m(ord)i(set)g(c)m(haracteristics.)150 2484 y Fr(3.3)68
b(Use)46 b(of)f(NUL)g(b)l(ytes)275 2677 y Fs(By)30 b(default,)g(the)g
(co)s(de)g(generated)i(b)m(y)e Fn(gperf)e Fs(op)s(erates)j(on)f(zero)h
(terminated)f(strings,)f(the)h(usual)150 2786 y(represen)m(tation)40
b(of)f(strings)g(in)f(C.)i(This)d(means)j(that)g(the)g(k)m(eyw)m(ords)g
(in)e(the)i(input)e(\014le)g(m)m(ust)i(not)150 2896 y(con)m(tain)c(NUL)
g(b)m(ytes,)i(and)e(the)g Fo(str)42 b Fs(argumen)m(t)36
b(passed)g(to)g Fn(hash)f Fs(or)h Fn(in_word_set)d Fs(m)m(ust)j(b)s(e)f
(NUL)150 3005 y(terminated)30 b(and)g(ha)m(v)m(e)h(exactly)g(length)f
Fo(len)p Fs(.)275 3140 y(If)35 b(option)h(`)p Fn(-c)p
Fs(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)37 b(the)f(`)p
Fn(\045compare-strncmp)p Fs(')c(declaration\))k(is)f(used,)i(then)f
(the)150 3249 y Fo(str)e Fs(argumen)m(t)29 b(do)s(es)e(not)h(need)g(to)
h(b)s(e)e(NUL)h(terminated.)40 b(The)27 b(co)s(de)h(generated)h(b)m(y)f
Fn(gperf)f Fs(will)e(only)150 3359 y(access)k(the)f(\014rst)g
Fo(len)p Fs(,)f(not)i Fo(len)p Fn(+)p Fo(1)p Fs(,)e(b)m(ytes)i
(starting)f(at)g Fo(str)p Fs(.)40 b(Ho)m(w)m(ev)m(er,)31
b(the)d(k)m(eyw)m(ords)g(in)f(the)h(input)e(\014le)150
3469 y(still)i(m)m(ust)j(not)f(con)m(tain)h(NUL)f(b)m(ytes.)275
3603 y(If)35 b(option)h(`)p Fn(-l)p Fs(')g(\(or,)i(equiv)-5
b(alen)m(tly)d(,)37 b(the)f(`)p Fn(\045compare-lengths)p
Fs(')c(declaration\))k(is)f(used,)i(then)f(the)150 3713
y(hash)c(table)h(p)s(erforms)e(binary)g(comparison.)46
b(The)33 b(k)m(eyw)m(ords)g(in)e(the)i(input)e(\014le)g(ma)m(y)j(con)m
(tain)f(NUL)150 3822 y(b)m(ytes,)46 b(written)40 b(in)h(string)g(syn)m
(tax)h(as)g Fn(\\000)f Fs(or)h Fn(\\x00)p Fs(,)i(and)d(the)h(co)s(de)g
(generated)h(b)m(y)f Fn(gperf)f Fs(will)150 3932 y(treat)i(NUL)e(lik)m
(e)g(an)m(y)h(other)g(b)m(yte.)75 b(Also,)44 b(in)c(this)g(case)j(the)f
(`)p Fn(-c)p Fs(')f(option)g(\(or,)k(equiv)-5 b(alen)m(tly)d(,)44
b(the)150 4042 y(`)p Fn(\045compare-strncmp)p Fs(')26
b(declaration\))31 b(is)e(ignored.)p eop
%%Page: 19 21
19 20 bop 150 -116 a Fs(Chapter)30 b(4:)41 b(In)m(v)m(oking)30
b Fn(gperf)2433 b Fs(19)150 299 y Fp(4)80 b(In)l(v)l(oking)53
b Fm(gperf)275 542 y Fs(There)35 b(are)i Fl(many)46 b
Fs(options)35 b(to)j Fn(gperf)p Fs(.)57 b(They)36 b(w)m(ere)h(added)e
(to)j(mak)m(e)f(the)g(program)f(more)g(con-)150 651 y(v)m(enien)m(t)e
(for)f(use)g(with)f(real)h(applications.)47 b(\\On-line")32
b(help)g(is)g(readily)g(a)m(v)-5 b(ailable)33 b(via)g(the)g(`)p
Fn(--help)p Fs(')150 761 y(option.)40 b(Here)31 b(is)e(the)i(complete)g
(list)e(of)h(options.)150 1025 y Fr(4.1)68 b(Sp)t(ecifying)45
b(the)g(Lo)t(cation)h(of)f(the)g(Output)g(File)150 1247
y Fs(`)p Fn(--output-file=)p Fo(\014le)5 b Fs(')630 1357
y(Allo)m(ws)29 b(y)m(ou)i(to)g(sp)s(ecify)e(the)i(name)f(of)h(the)f
(\014le)g(to)h(whic)m(h)e(the)i(output)f(is)f(written)g(to.)275
1521 y(The)g(results)h(are)g(written)g(to)h(standard)e(output)h(if)g
(no)g(output)g(\014le)f(is)h(sp)s(eci\014ed)f(or)h(if)f(it)h(is)g(`)p
Fn(-)p Fs('.)150 1785 y Fr(4.2)68 b(Options)45 b(that)h(a\013ect)g(In)l
(terpretation)h(of)e(the)g(Input)g(File)275 1981 y Fs(These)d(options)g
(are)h(also)f(a)m(v)-5 b(ailable)42 b(as)h(declarations)f(in)f(the)i
(input)e(\014le)g(\(see)j(Section)e(3.1.1.2)150 2090
y([Gp)s(erf)30 b(Declarations],)h(page)g(12\).)150 2254
y(`)p Fn(-e)f Fo(k)m(eyw)m(ord-delimiter-list)r Fs(')150
2364 y(`)p Fn(--delimiters=)p Fo(k)m(eyw)m(ord-delimiter-list)r
Fs(')630 2473 y(Allo)m(ws)e(y)m(ou)h(to)g(pro)m(vide)f(a)h(string)f
(con)m(taining)g(delimiters)f(used)g(to)j(separate)g(k)m(eyw)m(ords)630
2583 y(from)k(their)g(attributes.)53 b(The)34 b(default)f(is)h
Fn(")p Fs(,)p Fn(")p Fs(.)53 b(This)33 b(option)h(is)f(essen)m(tial)i
(if)e(y)m(ou)i(w)m(an)m(t)630 2692 y(to)f(use)e(k)m(eyw)m(ords)h(that)h
(ha)m(v)m(e)g(em)m(b)s(edded)e(commas)h(or)g(newlines.)46
b(One)33 b(useful)e(tric)m(k)i(is)630 2802 y(to)e(use)f(-e'T)-8
b(AB',)33 b(where)c(T)-8 b(AB)31 b(is)f(the)g(literal)f(tab)i(c)m
(haracter.)150 2964 y(`)p Fn(-t)p Fs(')150 3074 y(`)p
Fn(--struct-type)p Fs(')630 3183 y(Allo)m(ws)f(y)m(ou)i(to)g(include)d
(a)i Fn(struct)f Fs(t)m(yp)s(e)h(declaration)g(for)g(generated)h(co)s
(de.)44 b(An)m(y)31 b(text)630 3293 y(b)s(efore)43 b(a)i(pair)d(of)i
(consecutiv)m(e)h(`)p Fn(\045\045)p Fs(')e(is)g(considered)g(part)g(of)
h(the)g(t)m(yp)s(e)g(declaration.)630 3403 y(Keyw)m(ords)39
b(and)g(additional)e(\014elds)h(ma)m(y)j(follo)m(w)d(this,)j(one)f
(group)f(of)h(\014elds)e(p)s(er)g(line.)630 3512 y(A)31
b(set)g(of)g(examples)f(for)g(generating)h(p)s(erfect)f(hash)g(tables)h
(and)f(functions)f(for)h(Ada,)h(C,)630 3622 y(C)p Fn(++)p
Fs(,)24 b(P)m(ascal,)i(Mo)s(dula)c(2,)k(Mo)s(dula)c(3)i(and)f(Ja)m(v)-5
b(aScript)23 b(reserv)m(ed)g(w)m(ords)g(are)h(distributed)630
3731 y(with)29 b(this)g(release.)150 3894 y(`)p Fn(--ignore-case)p
Fs(')630 4003 y(Consider)42 b(upp)s(er)g(and)i(lo)m(w)m(er)g(case)h
(ASCI)s(I)e(c)m(haracters)i(as)f(equiv)-5 b(alen)m(t.)81
b(The)44 b(string)630 4113 y(comparison)27 b(will)f(use)i(a)h(case)g
(insigni\014can)m(t)d(c)m(haracter)k(comparison.)39 b(Note)29
b(that)g(lo)s(cale)630 4222 y(dep)s(enden)m(t)e(case)i(mappings)e(are)h
(ignored.)39 b(This)27 b(option)g(is)h(therefore)g(not)h(suitable)d(if)
i(a)630 4332 y(prop)s(erly)k(in)m(ternationalized)h(or)h(lo)s(cale)g(a)
m(w)m(are)i(case)f(mapping)e(should)f(b)s(e)i(used.)52
b(\(F)-8 b(or)630 4442 y(example,)30 b(in)e(a)h(T)-8
b(urkish)28 b(lo)s(cale,)h(the)h(upp)s(er)d(case)k(equiv)-5
b(alen)m(t)28 b(of)i(the)g(lo)m(w)m(ercase)g(ASCI)s(I)630
4551 y(letter)41 b(`)p Fn(i)p Fs(')h(is)e(the)h(non-ASCI)s(I)e(c)m
(haracter)k(`)p Fn(capital)29 b(i)h(with)f(dot)g(above)p
Fs('.\))72 b(F)-8 b(or)42 b(this)630 4661 y(case,)d(it)c(is)g(b)s
(etter)i(to)f(apply)f(an)h(upp)s(ercase)f(or)h(lo)m(w)m(ercase)h(con)m
(v)m(ersion)g(on)f(the)g(string)630 4770 y(b)s(efore)30
b(passing)f(it)h(to)h(the)g Fn(gperf)e Fs(generated)i(function.)150
5035 y Fr(4.3)68 b(Options)45 b(to)h(sp)t(ecify)f(the)g(Language)h(for)
f(the)g(Output)f(Co)t(de)275 5230 y Fs(These)e(options)g(are)h(also)f
(a)m(v)-5 b(ailable)42 b(as)h(declarations)f(in)f(the)i(input)e(\014le)
g(\(see)j(Section)e(3.1.1.2)150 5340 y([Gp)s(erf)30 b(Declarations],)h
(page)g(12\).)p eop
%%Page: 20 22
20 21 bop 150 -116 a Fs(Chapter)30 b(4:)41 b(In)m(v)m(oking)30
b Fn(gperf)2433 b Fs(20)150 299 y(`)p Fn(-L)30 b Fo
(generated-language-name)5 b Fs(')150 408 y(`)p Fn(--language=)p
Fo(generated-language-name)g Fs(')630 518 y(Instructs)33
b Fn(gperf)f Fs(to)i(generate)h(co)s(de)f(in)e(the)i(language)g(sp)s
(eci\014ed)d(b)m(y)j(the)g(option's)f(ar-)630 628 y(gumen)m(t.)41
b(Languages)31 b(handled)e(are)i(curren)m(tly:)630 798
y(`)p Fn(KR-C)p Fs(')238 b(Old-st)m(yle)25 b(K&R)h(C.)g(This)e
(language)j(is)f(understo)s(o)s(d)e(b)m(y)i(old-st)m(yle)g(C)g(com-)
1110 907 y(pilers)c(and)i(ANSI)f(C)h(compilers,)g(but)g(ANSI)f(C)h
(compilers)f(ma)m(y)h(\015ag)h(w)m(arn-)1110 1017 y(ings)k(\(or)i(ev)m
(en)g(errors\))f(b)s(ecause)h(of)f(lac)m(king)g(`)p Fn(const)p
Fs('.)630 1187 y(`)p Fn(C)p Fs(')382 b(Common)23 b(C.)f(This)g
(language)h(is)f(understo)s(o)s(d)f(b)m(y)i(ANSI)g(C)f(compilers,)i
(and)1110 1296 y(also)29 b(b)m(y)f(old-st)m(yle)g(C)h(compilers,)e(pro)
m(vided)g(that)j(y)m(ou)f Fn(#define)f(const)f Fs(to)1110
1406 y(empt)m(y)k(for)f(compilers)f(whic)m(h)g(don't)h(kno)m(w)h(ab)s
(out)f(this)f(k)m(eyw)m(ord.)630 1576 y(`)p Fn(ANSI-C)p
Fs(')142 b(ANSI)39 b(C.)h(This)d(language)j(is)f(understo)s(o)s(d)f(b)m
(y)h(ANSI)g(C)h(compilers)e(and)1110 1685 y(C)p Fn(++)29
b Fs(compilers.)630 1855 y(`)p Fn(C++)p Fs(')286 b(C)p
Fn(++)p Fs(.)40 b(This)28 b(language)j(is)f(understo)s(o)s(d)e(b)m(y)i
(C)p Fn(++)g Fs(compilers.)630 2025 y(The)g(default)f(is)h(C.)150
2195 y(`)p Fn(-a)p Fs(')334 b(This)32 b(option)h(is)f(supp)s(orted)g
(for)h(compatibilit)m(y)f(with)g(previous)g(releases)i(of)g
Fn(gperf)p Fs(.)49 b(It)630 2305 y(do)s(es)30 b(not)h(do)f(an)m
(ything.)150 2475 y(`)p Fn(-g)p Fs(')334 b(This)32 b(option)h(is)f
(supp)s(orted)g(for)h(compatibilit)m(y)f(with)g(previous)g(releases)i
(of)g Fn(gperf)p Fs(.)49 b(It)630 2584 y(do)s(es)30 b(not)h(do)f(an)m
(ything.)150 2868 y Fr(4.4)68 b(Options)45 b(for)g(\014ne)g(tuning)g
(Details)i(in)e(the)g(Output)f(Co)t(de)275 3071 y Fs(Most)21
b(of)g(these)g(options)f(are)h(also)g(a)m(v)-5 b(ailable)20
b(as)h(declarations)f(in)g(the)h(input)d(\014le)i(\(see)i(Section)e
(3.1.1.2)150 3181 y([Gp)s(erf)30 b(Declarations],)h(page)g(12\).)150
3356 y(`)p Fn(-K)f Fo(slot-name)5 b Fs(')150 3466 y(`)p
Fn(--slot-name=)p Fo(slot-name)g Fs(')630 3575 y(This)20
b(option)h(is)g(only)f(useful)g(when)h(option)g(`)p Fn(-t)p
Fs(')g(\(or,)j(equiv)-5 b(alen)m(tly)d(,)23 b(the)f(`)p
Fn(\045struct-type)p Fs(')630 3685 y(declaration\))39
b(has)g(b)s(een)f(giv)m(en.)66 b(By)39 b(default,)i(the)e(program)g
(assumes)f(the)h(structure)630 3795 y(comp)s(onen)m(t)28
b(iden)m(ti\014er)f(for)h(the)g(k)m(eyw)m(ord)g(is)g(`)p
Fn(name)p Fs('.)39 b(This)26 b(option)i(allo)m(ws)f(an)h(arbitrary)630
3904 y(c)m(hoice)k(of)g(iden)m(ti\014er)e(for)h(this)g(comp)s(onen)m
(t,)h(although)f(it)g(still)e(m)m(ust)j(o)s(ccur)f(as)h(the)g(\014rst)
630 4014 y(\014eld)d(in)g(y)m(our)h(supplied)d Fn(struct)p
Fs(.)150 4184 y(`)p Fn(-F)j Fo(initializers)t Fs(')150
4293 y(`)p Fn(--initializer-suffix=)p Fo(in)o(iti)o(ali)o(zers)t
Fs(')630 4403 y(This)20 b(option)h(is)g(only)f(useful)g(when)h(option)g
(`)p Fn(-t)p Fs(')g(\(or,)j(equiv)-5 b(alen)m(tly)d(,)23
b(the)f(`)p Fn(\045struct-type)p Fs(')630 4512 y(declaration\))32
b(has)h(b)s(een)e(giv)m(en.)48 b(It)32 b(p)s(ermits)f(to)i(sp)s(ecify)e
(initializers)e(for)k(the)f(structure)630 4622 y(mem)m(b)s(ers)23
b(follo)m(wing)f Fo(slot-name)29 b Fs(in)22 b(empt)m(y)i(hash)f(table)g
(en)m(tries.)38 b(The)23 b(list)f(of)i(initializers)630
4732 y(should)36 b(start)j(with)f(a)g(comma.)66 b(By)39
b(default,)h(the)f(emitted)f(co)s(de)h(will)c(zero-initialize)630
4841 y(structure)30 b(mem)m(b)s(ers)f(follo)m(wing)g
Fo(slot-name)p Fs(.)150 5011 y(`)p Fn(-H)h Fo(hash-function-name)5
b Fs(')150 5121 y(`)p Fn(--hash-function-name=)p Fo(hash-fu)o
(nction-name)g Fs(')630 5230 y(Allo)m(ws)29 b(y)m(ou)h(to)g(sp)s(ecify)
f(the)h(name)g(for)f(the)h(generated)h(hash)e(function.)39
b(Default)30 b(name)630 5340 y(is)f(`)p Fn(hash)p Fs('.)40
b(This)29 b(option)h(p)s(ermits)e(the)j(use)f(of)h(t)m(w)m(o)g(hash)f
(tables)g(in)f(the)i(same)g(\014le.)p eop
%%Page: 21 23
21 22 bop 150 -116 a Fs(Chapter)30 b(4:)41 b(In)m(v)m(oking)30
b Fn(gperf)2433 b Fs(21)150 299 y(`)p Fn(-N)30 b Fo(lo)s
(okup-function-name)5 b Fs(')150 408 y(`)p Fn(--lookup-function-name=)p
Fo(l)o(o)s(okup-fu)o(nction-name)g Fs(')630 518 y(Allo)m(ws)41
b(y)m(ou)h(to)h(sp)s(ecify)d(the)j(name)f(for)f(the)h(generated)h(lo)s
(okup)e(function.)74 b(Default)630 628 y(name)28 b(is)f(`)p
Fn(in_word_set)p Fs('.)37 b(This)26 b(option)h(p)s(ermits)f(m)m
(ultiple)g(generated)i(hash)f(functions)630 737 y(to)k(b)s(e)f(used)f
(in)g(the)i(same)g(application.)150 938 y(`)p Fn(-Z)f
Fo(class-name)5 b Fs(')150 1048 y(`)p Fn(--class-name=)p
Fo(class-name)g Fs(')630 1157 y(This)65 b(option)i(is)f(only)h(useful)e
(when)i(option)f(`)p Fn(-L)30 b(C++)p Fs(')67 b(\(or,)77
b(equiv)-5 b(alen)m(tly)d(,)76 b(the)630 1267 y(`)p Fn
(\045language=C++)p Fs(')43 b(declaration\))i(has)h(b)s(een)f(giv)m
(en.)87 b(It)46 b(allo)m(ws)f(y)m(ou)h(to)g(sp)s(ecify)f(the)630
1377 y(name)30 b(of)h(generated)g(C)p Fn(++)f Fs(class.)40
b(Default)31 b(name)f(is)g Fn(Perfect_Hash)p Fs(.)150
1577 y(`)p Fn(-7)p Fs(')150 1687 y(`)p Fn(--seven-bit)p
Fs(')630 1797 y(This)35 b(option)i(sp)s(eci\014es)f(that)h(all)f
(strings)g(that)i(will)c(b)s(e)j(passed)f(as)i(argumen)m(ts)f(to)h(the)
630 1906 y(generated)e(hash)e(function)f(and)i(the)g(generated)g(lo)s
(okup)f(function)f(will)f(solely)i(consist)630 2016 y(of)f(7-bit)g
(ASCI)s(I)f(c)m(haracters)j(\(b)m(ytes)f(in)e(the)h(range)h(0..127\).)
51 b(\(Note)35 b(that)f(the)g(ANSI)e(C)630 2125 y(functions)e
Fn(isalnum)g Fs(and)i Fn(isgraph)e Fs(do)i Fl(not)41
b Fs(guaran)m(tee)33 b(that)g(a)f(b)m(yte)h(is)e(in)f(this)h(range.)630
2235 y(Only)25 b(an)h(explicit)f(test)j(lik)m(e)d(`)p
Fn(c)31 b(>=)f('A')f(&&)h(c)g(<=)g('Z')p Fs(')25 b(guaran)m(tees)j
(this.\))39 b(This)25 b(w)m(as)i(the)630 2345 y(default)f(in)g(v)m
(ersions)g(of)h Fn(gperf)e Fs(earlier)h(than)g(2.7;)k(no)m(w)d(the)g
(default)f(is)f(to)j(supp)s(ort)d(8-bit)630 2454 y(and)30
b(m)m(ultib)m(yte)f(c)m(haracters.)150 2655 y(`)p Fn(-l)p
Fs(')150 2765 y(`)p Fn(--compare-lengths)p Fs(')630 2874
y(Compare)40 b(k)m(eyw)m(ord)g(lengths)f(b)s(efore)g(trying)g(a)i
(string)d(comparison.)69 b(This)38 b(option)h(is)630
2984 y(mandatory)32 b(for)h(binary)d(comparisons)i(\(see)h(Section)g
(3.3)g([Binary)f(Strings],)g(page)h(18\).)630 3093 y(It)g(also)g(migh)m
(t)g(cut)g(do)m(wn)f(on)h(the)g(n)m(um)m(b)s(er)f(of)h(string)f
(comparisons)g(made)h(during)e(the)630 3203 y(lo)s(okup,)i(since)g(k)m
(eyw)m(ords)g(with)f(di\013eren)m(t)h(lengths)g(are)g(nev)m(er)h
(compared)f(via)g Fn(strcmp)p Fs(.)630 3313 y(Ho)m(w)m(ev)m(er,)k
(using)32 b(`)p Fn(-l)p Fs(')h(migh)m(t)g(greatly)h(increase)g(the)g
(size)f(of)h(the)f(generated)i(C)e(co)s(de)h(if)630 3422
y(the)k(lo)s(okup)f(table)g(range)i(is)e(large)h(\(whic)m(h)f(implies)e
(that)j(the)g(switc)m(h)g(option)f(`)p Fn(-S)p Fs(')h(or)630
3532 y(`)p Fn(\045switch)p Fs(')29 b(is)h(not)h(enabled\),)g(since)f
(the)h(length)f(table)h(con)m(tains)g(as)g(man)m(y)g(elemen)m(ts)g(as)
630 3641 y(there)g(are)f(en)m(tries)h(in)e(the)h(lo)s(okup)f(table.)150
3842 y(`)p Fn(-c)p Fs(')150 3952 y(`)p Fn(--compare-strncmp)p
Fs(')630 4061 y(Generates)22 b(C)f(co)s(de)g(that)h(uses)e(the)i
Fn(strncmp)d Fs(function)g(to)j(p)s(erform)e(string)g(comparisons.)630
4171 y(The)30 b(default)f(action)i(is)f(to)h(use)f Fn(strcmp)p
Fs(.)150 4372 y(`)p Fn(-C)p Fs(')150 4482 y(`)p Fn(--readonly-tables)p
Fs(')630 4591 y(Mak)m(es)41 b(the)f(con)m(ten)m(ts)h(of)f(all)f
(generated)h(lo)s(okup)e(tables)i(constan)m(t,)j(i.e.,)g(\\readonly".)
630 4701 y(Man)m(y)31 b(compilers)e(can)i(generate)h(more)e(e\016cien)m
(t)h(co)s(de)g(for)f(this)g(b)m(y)g(putting)f(the)i(tables)630
4810 y(in)e(readonly)h(memory)-8 b(.)150 5011 y(`)p Fn(-E)p
Fs(')150 5121 y(`)p Fn(--enum)p Fs(')142 b(De\014ne)31
b(constan)m(t)g(v)-5 b(alues)30 b(using)f(an)h(en)m(um)g(lo)s(cal)g(to)
h(the)g(lo)s(okup)e(function)g(rather)h(than)630 5230
y(with)36 b(#de\014nes.)60 b(This)35 b(also)i(means)h(that)f
(di\013eren)m(t)g(lo)s(okup)f(functions)g(can)h(reside)f(in)630
5340 y(the)31 b(same)f(\014le.)40 b(Thanks)29 b(to)j(James)e(Clark)f
Fn(<jjc@ai.mit.edu>)p Fs(.)p eop
%%Page: 22 24
22 23 bop 150 -116 a Fs(Chapter)30 b(4:)41 b(In)m(v)m(oking)30
b Fn(gperf)2433 b Fs(22)150 299 y(`)p Fn(-I)p Fs(')150
408 y(`)p Fn(--includes)p Fs(')630 518 y(Include)29 b(the)i(necessary)h
(system)f(include)e(\014le,)h Fn(<string.h>)p Fs(,)f(at)i(the)g(b)s
(eginning)e(of)i(the)630 628 y(co)s(de.)39 b(By)27 b(default,)f(this)f
(is)g(not)h(done;)i(the)e(user)f(m)m(ust)h(include)e(this)g(header)i
(\014le)f(himself)630 737 y(to)31 b(allo)m(w)f(compilation)f(of)h(the)h
(co)s(de.)150 883 y(`)p Fn(-G)p Fs(')150 993 y(`)p Fn(--global-table)p
Fs(')630 1103 y(Generate)38 b(the)f(static)g(table)f(of)h(k)m(eyw)m
(ords)g(as)g(a)g(static)g(global)f(v)-5 b(ariable,)37
b(rather)f(than)630 1212 y(hiding)28 b(it)i(inside)e(of)i(the)h(lo)s
(okup)e(function)g(\(whic)m(h)g(is)h(the)g(default)g(b)s(eha)m(vior\).)
150 1358 y(`)p Fn(-P)p Fs(')150 1468 y(`)p Fn(--pic)p
Fs(')190 b(Optimize)40 b(the)h(generated)h(table)f(for)g(inclusion)d
(in)i(shared)g(libraries.)70 b(This)39 b(reduces)630
1577 y(the)c(startup)g(time)g(of)g(programs)g(using)f(a)i(shared)e
(library)f(con)m(taining)i(the)g(generated)630 1687 y(co)s(de.)j(If)21
b(the)h(option)g(`)p Fn(-t)p Fs(')f(\(or,)k(equiv)-5
b(alen)m(tly)d(,)22 b(the)g(`)p Fn(\045struct-type)p
Fs(')d(declaration\))j(is)f(also)630 1797 y(giv)m(en,)31
b(the)g(\014rst)e(\014eld)h(of)g(the)h(user-de\014ned)e(struct)i(m)m
(ust)f(b)s(e)g(of)h(t)m(yp)s(e)g(`)p Fn(int)p Fs(',)f(not)h(`)p
Fn(char)630 1906 y(*)p Fs(',)h(b)s(ecause)f(it)h(will)c(con)m(tain)k
(o\013sets)h(in)m(to)e(the)h(string)e(p)s(o)s(ol)h(instead)f(of)i
(actual)g(strings.)630 2016 y(T)-8 b(o)33 b(con)m(v)m(ert)h(suc)m(h)f
(an)f(o\013set)i(to)f(a)g(string,)g(y)m(ou)g(can)g(use)f(the)h
(expression)e(`)p Fn(stringpool)630 2125 y(+)f Fo(o)5
b Fs(',)34 b(where)f Fo(o)38 b Fs(is)32 b(the)h(o\013set.)50
b(The)32 b(string)g(p)s(o)s(ol)g(name)h(can)g(b)s(e)g(c)m(hanged)g
(through)g(the)630 2235 y(option)d(`)p Fn(--string-pool-name)p
Fs('.)150 2381 y(`)p Fn(-Q)g Fo(string-p)s(o)s(ol-name)5
b Fs(')150 2491 y(`)p Fn(--string-pool-name=)p Fo(string-p)r(o)s
(ol-name)g Fs(')630 2600 y(Allo)m(ws)30 b(y)m(ou)i(to)g(sp)s(ecify)e
(the)h(name)h(of)f(the)h(generated)g(string)e(p)s(o)s(ol)g(created)i(b)
m(y)f(option)630 2710 y(`)p Fn(-P)p Fs('.)38 b(The)21
b(default)f(name)i(is)e(`)p Fn(stringpool)p Fs('.)36
b(This)19 b(option)i(p)s(ermits)f(the)h(use)g(of)h(t)m(w)m(o)h(hash)630
2819 y(tables)h(in)e(the)i(same)g(\014le,)h(with)d(`)p
Fn(-P)p Fs(')i(and)f(ev)m(en)h(when)f(the)h(option)f(`)p
Fn(-G)p Fs(')h(\(or,)i(equiv)-5 b(alen)m(tly)d(,)630
2929 y(the)31 b(`)p Fn(\045global-table)p Fs(')c(declaration\))j(is)g
(giv)m(en.)150 3075 y(`)p Fn(--null-strings)p Fs(')630
3185 y(Use)39 b(NULL)g(strings)e(instead)i(of)f(empt)m(y)i(strings)d
(for)i(empt)m(y)g(k)m(eyw)m(ord)g(table)g(en)m(tries.)630
3294 y(This)e(reduces)h(the)h(startup)g(time)f(of)h(programs)g(using)e
(a)i(shared)f(library)e(con)m(taining)630 3404 y(the)41
b(generated)g(co)s(de)g(\(but)f(not)h(as)f(m)m(uc)m(h)h(as)g(option)f
(`)p Fn(-P)p Fs('\),)j(at)e(the)g(exp)s(ense)f(of)h(one)630
3513 y(more)31 b(test-and-branc)m(h)f(instruction)f(at)i(run)e(time.)
150 3660 y(`)p Fn(-W)h Fo(hash-table-arra)m(y-name)5
b Fs(')150 3769 y(`)p Fn(--word-array-name=)p Fo(hash-table-arra)m
(y-name)g Fs(')630 3879 y(Allo)m(ws)39 b(y)m(ou)h(to)h(sp)s(ecify)e
(the)h(name)g(for)f(the)i(generated)g(arra)m(y)f(con)m(taining)g(the)g
(hash)630 3988 y(table.)105 b(Default)52 b(name)f(is)g(`)p
Fn(wordlist)p Fs('.)103 b(This)50 b(option)h(p)s(ermits)f(the)i(use)g
(of)g(t)m(w)m(o)630 4098 y(hash)37 b(tables)g(in)g(the)h(same)g
(\014le,)h(ev)m(en)f(when)f(the)h(option)f(`)p Fn(-G)p
Fs(')h(\(or,)i(equiv)-5 b(alen)m(tly)d(,)39 b(the)630
4208 y(`)p Fn(\045global-table)p Fs(')27 b(declaration\))k(is)e(giv)m
(en.)150 4354 y(`)p Fn(-S)h Fo(total-switc)m(h-statemen)m(ts)t
Fs(')150 4463 y(`)p Fn(--switch=)p Fo(total-switc)m(h-statemen)m(ts)t
Fs(')630 4573 y(Causes)35 b(the)h(generated)h(C)e(co)s(de)h(to)h(use)e
(a)h Fn(switch)e Fs(statemen)m(t)k(sc)m(heme,)g(rather)d(than)630
4682 y(an)j(arra)m(y)g(lo)s(okup)f(table.)63 b(This)36
b(can)i(lead)g(to)g(a)h(reduction)e(in)f(b)s(oth)h(time)h(and)f(space)
630 4792 y(requiremen)m(ts)42 b(for)i(some)f(input)f(\014les.)79
b(The)43 b(argumen)m(t)h(to)g(this)e(option)h(determines)630
4902 y(ho)m(w)33 b(man)m(y)f Fn(switch)f Fs(statemen)m(ts)k(are)e
(generated.)49 b(A)32 b(v)-5 b(alue)33 b(of)f(1)i(generates)g(1)f
Fn(switch)630 5011 y Fs(con)m(taining)23 b(all)e(the)j(elemen)m(ts,)h
(a)e(v)-5 b(alue)22 b(of)i(2)f(generates)h(2)g(tables)e(with)g(1/2)i
(the)g(elemen)m(ts)630 5121 y(in)37 b(eac)m(h)i Fn(switch)p
Fs(,)g(etc.)65 b(This)36 b(is)h(useful)g(since)g(man)m(y)i(C)e
(compilers)g(cannot)i(correctly)630 5230 y(generate)29
b(co)s(de)f(for)f(large)g Fn(switch)f Fs(statemen)m(ts.)41
b(This)26 b(option)h(w)m(as)h(inspired)c(in)i(part)h(b)m(y)630
5340 y(Keith)j(Bostic's)h(original)d(C)i(program.)p eop
%%Page: 23 25
23 24 bop 150 -116 a Fs(Chapter)30 b(4:)41 b(In)m(v)m(oking)30
b Fn(gperf)2433 b Fs(23)150 299 y(`)p Fn(-T)p Fs(')150
408 y(`)p Fn(--omit-struct-type)p Fs(')630 518 y(Prev)m(en)m(ts)29
b(the)e(transfer)h(of)f(the)h(t)m(yp)s(e)g(declaration)f(to)i(the)f
(output)f(\014le.)39 b(Use)28 b(this)e(option)630 628
y(if)j(the)i(t)m(yp)s(e)f(is)g(already)g(de\014ned)f(elsewhere.)150
795 y(`)p Fn(-p)p Fs(')334 b(This)32 b(option)h(is)f(supp)s(orted)g
(for)h(compatibilit)m(y)f(with)g(previous)g(releases)i(of)g
Fn(gperf)p Fs(.)49 b(It)630 905 y(do)s(es)30 b(not)h(do)f(an)m(ything.)
150 1182 y Fr(4.5)68 b(Options)45 b(for)g(c)l(hanging)h(the)f
(Algorithms)h(emplo)l(y)l(ed)g(b)l(y)f Fk(gperf)150 1412
y Fs(`)p Fn(-k)30 b Fo(selected-b)m(yte-p)s(ositions)t
Fs(')150 1521 y(`)p Fn(--key-positions=)p Fo(selected-b)m(yte-p)s
(ositions)t Fs(')630 1631 y(Allo)m(ws)c(selection)h(of)g(the)g(b)m(yte)
h(p)s(ositions)d(used)h(in)g(the)h(k)m(eyw)m(ords')h(hash)e(function.)
38 b(The)630 1740 y(allo)m(w)m(able)21 b(c)m(hoices)i(range)f(b)s(et)m
(w)m(een)h(1-255,)j(inclusiv)m(e.)35 b(The)22 b(p)s(ositions)d(are)k
(separated)f(b)m(y)630 1850 y(commas,)27 b(e.g.,)i(`)p
Fn(-k)h(9,4,13,14)p Fs(';)25 b(ranges)h(ma)m(y)g(b)s(e)f(used,)h(e.g.,)
i(`)p Fn(-k)i(2-7)p Fs(';)d(and)e(p)s(ositions)630 1960
y(ma)m(y)c(o)s(ccur)f(in)g(an)m(y)h(order.)37 b(F)-8
b(urthermore,)22 b(the)f(wildcard)d('*')j(causes)g(the)g(generated)h
(hash)630 2069 y(function)36 b(to)i(consider)f Fe(all)h
Fs(b)m(yte)g(p)s(ositions)d(in)h(eac)m(h)j(k)m(eyw)m(ord,)h(whereas)d
('$')h(instructs)630 2179 y(the)31 b(hash)g(function)e(to)j(use)f(the)g
(\\\014nal)g(b)m(yte")h(of)f(a)h(k)m(eyw)m(ord)f(\(this)f(is)h(the)g
(only)f(w)m(a)m(y)i(to)630 2288 y(use)e(a)h(b)m(yte)g(p)s(osition)d
(greater)k(than)e(255,)i(inciden)m(tally\).)630 2427
y(F)-8 b(or)37 b(instance,)g(the)f(option)g(`)p Fn(-k)30
b(1,2,4,6-10,'$')p Fs(')i(generates)38 b(a)e(hash)g(function)e(that)630
2536 y(considers)g(p)s(ositions)f(1,2,4,6,7,8,9,10,)42
b(plus)33 b(the)j(last)f(b)m(yte)g(in)f(eac)m(h)i(k)m(eyw)m(ord)g
(\(whic)m(h)630 2646 y(ma)m(y)j(b)s(e)f(at)i(a)f(di\013eren)m(t)f(p)s
(osition)f(for)h(eac)m(h)i(k)m(eyw)m(ord,)h(ob)m(viously\).)65
b(Keyw)m(ords)38 b(with)630 2756 y(length)29 b(less)g(than)g(the)g
(indicated)f(b)m(yte)j(p)s(ositions)c(w)m(ork)i(prop)s(erly)-8
b(,)29 b(since)f(selected)i(b)m(yte)630 2865 y(p)s(ositions)j
(exceeding)i(the)h(k)m(eyw)m(ord)f(length)f(are)i(simply)c(not)k
(referenced)f(in)e(the)j(hash)630 2975 y(function.)630
3113 y(This)27 b(option)i(is)f(not)h(normally)e(needed)i(since)f(v)m
(ersion)g(2.8)j(of)e Fn(gperf)p Fs(;)f(the)h(default)f(b)m(yte)630
3223 y(p)s(ositions)34 b(are)i(computed)f(dep)s(ending)e(on)j(the)f(k)m
(eyw)m(ord)h(set,)i(through)d(a)h(searc)m(h)g(that)630
3332 y(minimizes)28 b(the)i(n)m(um)m(b)s(er)f(of)i(b)m(yte)g(p)s
(ositions.)150 3500 y(`)p Fn(-D)p Fs(')150 3609 y(`)p
Fn(--duplicates)p Fs(')630 3719 y(Handle)g(k)m(eyw)m(ords)i(whose)f
(selected)h(b)m(yte)f(sets)h(hash)e(to)i(duplicate)e(v)-5
b(alues.)45 b(Duplicate)630 3829 y(hash)33 b(v)-5 b(alues)33
b(can)i(o)s(ccur)e(if)g(a)h(set)h(of)f(k)m(eyw)m(ords)g(has)g(the)g
(same)g(names,)h(but)e(p)s(ossesses)630 3938 y(di\013eren)m(t)e
(attributes,)g(or)g(if)g(the)g(selected)h(b)m(yte)g(p)s(ositions)d(are)
j(not)f(w)m(ell)f(c)m(hosen.)44 b(With)630 4048 y(the)36
b(-D)g(option)f Fn(gperf)f Fs(treats)j(all)d(these)j(k)m(eyw)m(ords)e
(as)h(part)g(of)g(an)f(equiv)-5 b(alence)35 b(class)630
4157 y(and)c(generates)i(a)f(p)s(erfect)g(hash)f(function)f(with)h(m)m
(ultiple)e(comparisons)i(for)g(duplicate)630 4267 y(k)m(eyw)m(ords.)38
b(It)21 b(is)e(up)h(to)h(y)m(ou)g(to)h(completely)e(disam)m(biguate)g
(the)h(k)m(eyw)m(ords)g(b)m(y)g(mo)s(difying)630 4377
y(the)28 b(generated)g(C)f(co)s(de.)40 b(Ho)m(w)m(ev)m(er,)30
b Fn(gperf)c Fs(helps)g(y)m(ou)h(out)h(b)m(y)f(organizing)g(the)g
(output.)630 4515 y(Using)k(this)g(option)g(usually)f(means)i(that)g
(the)g(generated)h(hash)e(function)g(is)g(no)g(longer)630
4625 y(p)s(erfect.)48 b(On)31 b(the)i(other)g(hand,)g(it)f(p)s(ermits)f
Fn(gperf)g Fs(to)i(w)m(ork)g(on)g(k)m(eyw)m(ord)g(sets)g(that)g(it)630
4734 y(otherwise)d(could)f(not)i(handle.)150 4902 y(`)p
Fn(-m)f Fo(iterations)t Fs(')150 5011 y(`)p Fn(--multiple-iterations=)p
Fo(i)o(terations)t Fs(')630 5121 y(P)m(erform)24 b(m)m(ultiple)e(c)m
(hoices)j(of)f(the)h(`)p Fn(-i)p Fs(')f(and)g(`)p Fn(-j)p
Fs(')g(v)-5 b(alues,)25 b(and)e(c)m(ho)s(ose)j(the)e(b)s(est)g
(results.)630 5230 y(This)33 b(increases)i(the)g(running)d(time)i(b)m
(y)h(a)g(factor)h(of)f Fo(iterations)j Fs(but)c(do)s(es)g(a)i(go)s(o)s
(d)e(job)630 5340 y(minimizing)27 b(the)j(generated)i(table)e(size.)p
eop
%%Page: 24 26
24 25 bop 150 -116 a Fs(Chapter)30 b(4:)41 b(In)m(v)m(oking)30
b Fn(gperf)2433 b Fs(24)150 299 y(`)p Fn(-i)30 b Fo(initial-v)-5
b(alue)5 b Fs(')150 408 y(`)p Fn(--initial-asso=)p Fo(initial)o(-v)-5
b(alue)5 b Fs(')630 518 y(Pro)m(vides)28 b(an)g(initial)d
Fo(v)-5 b(alue)33 b Fs(for)28 b(the)g(asso)s(ciate)h(v)-5
b(alues)28 b(arra)m(y)-8 b(.)41 b(Default)28 b(is)f(0.)41
b(Increasing)630 628 y(the)30 b(initial)d(v)-5 b(alue)30
b(helps)e(in\015ate)h(the)h(\014nal)f(table)h(size,)g(p)s(ossibly)d
(leading)i(to)h(more)g(time)630 737 y(e\016cien)m(t)e(k)m(eyw)m(ord)f
(lo)s(okups.)38 b(Note)29 b(that)e(this)f(option)h(is)f(not)h
(particularly)e(useful)g(when)630 847 y(`)p Fn(-S)p Fs(')j(\(or,)i
(equiv)-5 b(alen)m(tly)d(,)28 b(`)p Fn(\045switch)p Fs('\))f(is)h
(used.)39 b(Also,)29 b(`)p Fn(-i)p Fs(')f(is)f(o)m(v)m(erridden)h(when)
f(the)i(`)p Fn(-r)p Fs(')630 956 y(option)h(is)f(used.)150
1150 y(`)p Fn(-j)h Fo(jump-v)-5 b(alue)5 b Fs(')150 1260
y(`)p Fn(--jump=)p Fo(jump-v)-5 b(alue)5 b Fs(')630 1369
y(A\013ects)41 b(the)f(\\jump)f(v)-5 b(alue",)43 b(i.e.,)g(ho)m(w)d
(far)g(to)g(adv)-5 b(ance)41 b(the)f(asso)s(ciated)h(b)m(yte)f(v)-5
b(alue)630 1479 y(up)s(on)29 b(collisions.)39 b Fo(Jump-v)-5
b(alue)34 b Fs(is)29 b(rounded)g(up)h(to)h(an)f(o)s(dd)g(n)m(um)m(b)s
(er,)f(the)i(default)f(is)f(5.)630 1588 y(If)h(the)g
Fo(jump-v)-5 b(alue)34 b Fs(is)c(0)g Fn(gperf)f Fs(jumps)g(b)m(y)h
(random)g(amoun)m(ts.)150 1782 y(`)p Fn(-n)p Fs(')150
1892 y(`)p Fn(--no-strlen)p Fs(')630 2001 y(Instructs)c(the)i
(generator)g(not)f(to)h(include)d(the)j(length)e(of)h(a)h(k)m(eyw)m
(ord)g(when)e(computing)630 2111 y(its)40 b(hash)g(v)-5
b(alue.)71 b(This)39 b(ma)m(y)i(sa)m(v)m(e)h(a)f(few)f(assem)m(bly)g
(instructions)f(in)g(the)i(generated)630 2221 y(lo)s(okup)29
b(table.)150 2414 y(`)p Fn(-r)p Fs(')150 2524 y(`)p Fn(--random)p
Fs(')630 2633 y(Utilizes)37 b(randomness)h(to)h(initialize)c(the)k
(asso)s(ciated)g(v)-5 b(alues)37 b(table.)65 b(This)37
b(frequen)m(tly)630 2743 y(generates)23 b(solutions)c(faster)j(than)f
(using)f(deterministic)f(initialization)f(\(whic)m(h)i(starts)i(all)630
2853 y(asso)s(ciated)27 b(v)-5 b(alues)27 b(at)g(0\).)40
b(F)-8 b(urthermore,)28 b(using)e(the)h(randomization)e(option)i
(generally)630 2962 y(increases)j(the)h(size)f(of)g(the)h(table.)150
3156 y(`)p Fn(-s)f Fo(size-m)m(ultiple)5 b Fs(')150 3266
y(`)p Fn(--size-multiple=)p Fo(size-m)m(ultipl)o(e)g
Fs(')630 3375 y(A\013ects)40 b(the)e(size)g(of)h(the)f(generated)i
(hash)d(table.)65 b(The)38 b(n)m(umeric)f(argumen)m(t)i(for)f(this)630
3485 y(option)32 b(indicates)f(\\ho)m(w)i(man)m(y)g(times)f(larger)g
(or)g(smaller")g(the)g(maxim)m(um)f(asso)s(ciated)630
3594 y(v)-5 b(alue)37 b(range)h(should)d(b)s(e,)k(in)d(relationship)f
(to)j(the)f(n)m(um)m(b)s(er)g(of)g(k)m(eyw)m(ords.)62
b(It)38 b(can)g(b)s(e)630 3704 y(written)f(as)i(an)f(in)m(teger,)k(a)c
(\015oating-p)s(oin)m(t)g(n)m(um)m(b)s(er)f(or)i(a)f(fraction.)65
b(F)-8 b(or)39 b(example,)i(a)630 3814 y(v)-5 b(alue)39
b(of)g(3)h(means)f(\\allo)m(w)g(the)h(maxim)m(um)e(asso)s(ciated)h(v)-5
b(alue)39 b(to)h(b)s(e)f(ab)s(out)g(3)g(times)630 3923
y(larger)32 b(than)h(the)g(n)m(um)m(b)s(er)e(of)i(input)e(k)m(eyw)m
(ords".)49 b(Con)m(v)m(ersely)-8 b(,)34 b(a)f(v)-5 b(alue)32
b(of)h(1/3)h(means)630 4033 y(\\allo)m(w)41 b(the)g(maxim)m(um)e(asso)s
(ciated)j(v)-5 b(alue)40 b(to)i(b)s(e)e(ab)s(out)g(3)h(times)g(smaller)
e(than)i(the)630 4142 y(n)m(um)m(b)s(er)33 b(of)i(input)e(k)m(eyw)m
(ords".)55 b(V)-8 b(alues)34 b(smaller)g(than)g(1)h(are)g(useful)e(for)
i(limiting)d(the)630 4252 y(o)m(v)m(erall)d(size)f(of)h(the)f
(generated)i(hash)e(table,)h(though)f(the)g(option)g(`)p
Fn(-m)p Fs(')h(is)e(b)s(etter)i(at)g(this)630 4361 y(purp)s(ose.)630
4513 y(If)44 b(`generate)h(switc)m(h')f(option)g(`)p
Fn(-S)p Fs(')g(\(or,)k(equiv)-5 b(alen)m(tly)d(,)46 b(`)p
Fn(\045switch)p Fs('\))d(is)g Fl(not)54 b Fs(enabled,)630
4623 y(the)45 b(maxim)m(um)g(asso)s(ciated)g(v)-5 b(alue)45
b(in\015uences)f(the)h(static)h(arra)m(y)g(table)f(size,)k(and)c(a)630
4732 y(larger)26 b(table)g(should)e(decrease)j(the)f(time)g(required)e
(for)i(an)f(unsuccessful)f(searc)m(h,)k(at)f(the)630
4842 y(exp)s(ense)j(of)g(extra)i(table)e(space.)630 4994
y(The)35 b(default)f(v)-5 b(alue)35 b(is)f(1,)j(th)m(us)e(the)h
(default)e(maxim)m(um)g(asso)s(ciated)i(v)-5 b(alue)35
b(ab)s(out)g(the)630 5103 y(same)h(size)f(as)g(the)h(n)m(um)m(b)s(er)e
(of)h(k)m(eyw)m(ords)h(\(for)g(e\016ciency)-8 b(,)37
b(the)e(maxim)m(um)f(asso)s(ciated)630 5213 y(v)-5 b(alue)35
b(is)g(alw)m(a)m(ys)h(rounded)e(up)g(to)i(a)g(p)s(o)m(w)m(er)g(of)f
(2\).)57 b(The)35 b(actual)h(table)g(size)f(ma)m(y)h(v)-5
b(ary)630 5322 y(somewhat,)31 b(since)f(this)f(tec)m(hnique)h(is)g
(essen)m(tially)f(a)i(heuristic.)p eop
%%Page: 25 27
25 26 bop 150 -116 a Fs(Chapter)30 b(4:)41 b(In)m(v)m(oking)30
b Fn(gperf)2433 b Fs(25)150 299 y Fr(4.6)68 b(Informativ)l(e)47
b(Output)150 516 y Fs(`)p Fn(-h)p Fs(')150 626 y(`)p
Fn(--help)p Fs(')142 b(Prin)m(ts)23 b(a)h(short)f(summary)g(on)h(the)g
(meaning)f(of)h(eac)m(h)h(program)e(option.)38 b(Ab)s(orts)23
b(further)630 736 y(program)30 b(execution.)150 895 y(`)p
Fn(-v)p Fs(')150 1005 y(`)p Fn(--version)p Fs(')630 1114
y(Prin)m(ts)f(out)i(the)f(curren)m(t)h(v)m(ersion)e(n)m(um)m(b)s(er.)
150 1274 y(`)p Fn(-d)p Fs(')150 1383 y(`)p Fn(--debug)p
Fs(')94 b(Enables)27 b(the)i(debugging)e(option.)39 b(This)27
b(pro)s(duces)g(v)m(erb)s(ose)i(diagnostics)e(to)i(\\standard)630
1493 y(error")i(when)g Fn(gperf)f Fs(is)g(executing.)44
b(It)32 b(is)e(useful)g(b)s(oth)h(for)g(main)m(taining)f(the)h(program)
630 1602 y(and)f(for)h(determining)e(whether)h(a)h(giv)m(en)g(set)g(of)
g(options)f(is)g(actually)h(sp)s(eeding)e(up)h(the)630
1712 y(searc)m(h)41 b(for)e(a)h(solution.)68 b(Some)40
b(useful)e(information)g(is)h(dump)s(ed)f(at)i(the)g(end)g(of)g(the)630
1822 y(program)30 b(when)g(the)g(`)p Fn(-d)p Fs(')g(option)g(is)g
(enabled.)p eop
%%Page: 26 28
26 27 bop 150 -116 a Fs(Chapter)30 b(5:)41 b(Kno)m(wn)30
b(Bugs)g(and)g(Limitations)e(with)h Fn(gperf)1397 b Fs(26)150
299 y Fp(5)80 b(Kno)l(wn)53 b(Bugs)f(and)i(Limitations)h(with)e
Fm(gperf)275 533 y Fs(The)29 b(follo)m(wing)g(are)i(some)g(limitations)
d(with)h(the)h(curren)m(t)h(release)f(of)h Fn(gperf)p
Fs(:)225 667 y Fq(\017)60 b Fs(The)31 b Fn(gperf)g Fs(utilit)m(y)f(is)h
(tuned)g(to)h(execute)h(quic)m(kly)-8 b(,)32 b(and)f(w)m(orks)h(quic)m
(kly)e(for)i(small)e(to)j(medium)330 777 y(size)h(data)h(sets)g
(\(around)f(1000)i(k)m(eyw)m(ords\).)54 b(It)34 b(is)g(extremely)h
(useful)d(for)i(main)m(taining)f(p)s(erfect)330 887 y(hash)40
b(functions)g(for)g(compiler)g(k)m(eyw)m(ord)h(sets.)72
b(Sev)m(eral)41 b(recen)m(t)h(enhancemen)m(ts)g(no)m(w)e(enable)330
996 y Fn(gperf)31 b Fs(to)j(w)m(ork)e(e\016cien)m(tly)h(on)f(m)m(uc)m
(h)h(larger)f(k)m(eyw)m(ord)h(sets)g(\(o)m(v)m(er)i(15,000)g(k)m(eyw)m
(ords\).)48 b(When)330 1106 y(pro)s(cessing)29 b(large)i(k)m(eyw)m(ord)
f(sets)h(it)f(helps)f(greatly)i(to)g(ha)m(v)m(e)g(o)m(v)m(er)h(8)f
(megs)g(of)f(RAM.)225 1240 y Fq(\017)60 b Fs(The)43 b(size)h(of)g(the)g
(generate)h(static)g(k)m(eyw)m(ord)f(arra)m(y)g(can)g(get)h
Fl(extr)-5 b(emely)53 b Fs(large)44 b(if)f(the)h(input)330
1350 y(k)m(eyw)m(ord)d(\014le)e(is)g(large)i(or)f(if)f(the)i(k)m(eyw)m
(ords)f(are)h(quite)f(similar.)67 b(This)39 b(tends)h(to)h(slo)m(w)e
(do)m(wn)330 1460 y(the)c(compilation)e(of)i(the)f(generated)i(C)e(co)s
(de,)i(and)e Fl(gr)-5 b(e)g(atly)44 b Fs(in\015ates)34
b(the)h(ob)5 b(ject)35 b(co)s(de)g(size.)53 b(If)330
1569 y(this)39 b(situation)g(o)s(ccurs,)j(consider)d(using)f(the)i(`)p
Fn(-S)p Fs(')g(option)f(to)i(reduce)e(data)i(size,)h(p)s(oten)m(tially)
330 1679 y(increasing)g(k)m(eyw)m(ord)i(recognition)f(time)g(a)h
(negligible)e(amoun)m(t.)80 b(Since)43 b(man)m(y)g(C)h(compilers)330
1788 y(cannot)37 b(correctly)h(generate)g(co)s(de)f(for)g(large)g
(switc)m(h)f(statemen)m(ts)j(it)d(is)g(imp)s(ortan)m(t)g(to)i(qualify)
330 1898 y(the)i Fo(-S)46 b Fs(option)39 b(with)g(an)h(appropriate)f(n)
m(umerical)g(argumen)m(t)h(that)h(con)m(trols)g(the)f(n)m(um)m(b)s(er)f
(of)330 2007 y(switc)m(h)30 b(statemen)m(ts)i(generated.)225
2142 y Fq(\017)60 b Fs(The)35 b(maxim)m(um)f(n)m(um)m(b)s(er)g(of)i
(selected)g(b)m(yte)g(p)s(ositions)d(has)i(an)h(arbitrary)e(limit)f(of)
j(255.)57 b(This)330 2252 y(restriction)27 b(should)f(b)s(e)h(remo)m(v)
m(ed,)j(and)d(if)g(an)m(y)m(one)i(considers)e(this)g(a)h(problem)e
(write)i(me)g(and)f(let)330 2361 y(me)j(kno)m(w)h(so)f(I)h(can)f(remo)m
(v)m(e)i(the)f(constrain)m(t.)p eop
%%Page: 27 29
27 28 bop 150 -116 a Fs(Chapter)30 b(6:)41 b(Things)28
b(Still)g(Left)j(to)g(Do)2133 b(27)150 299 y Fp(6)80
b(Things)54 b(Still)i(Left)d(to)g(Do)275 533 y Fs(It)24
b(should)e(b)s(e)i(\\relativ)m(ely")h(easy)g(to)g(replace)f(the)h
(curren)m(t)f(p)s(erfect)g(hash)g(function)f(algorithm)g(with)150
643 y(a)35 b(more)f(exhaustiv)m(e)g(approac)m(h;)j(the)d(p)s(erfect)h
(hash)e(mo)s(dule)g(is)g(essen)m(tial)h(indep)s(enden)m(t)e(from)i
(other)150 752 y(program)c(mo)s(dules.)39 b(Additional)28
b(w)m(orth)m(while)h(impro)m(v)m(emen)m(ts)i(include:)225
887 y Fq(\017)60 b Fs(Another)34 b(useful)e(extension)h(in)m(v)m(olv)m
(es)h(mo)s(difying)d(the)j(program)f(to)i(generate)g(\\minimal")d(p)s
(er-)330 996 y(fect)42 b(hash)f(functions)e(\(under)i(certain)g
(circumstances,)j(the)d(curren)m(t)g(v)m(ersion)g(can)g(b)s(e)g(rather)
330 1106 y(extra)m(v)-5 b(agan)m(t)39 b(in)c(the)i(generated)g(table)f
(size\).)59 b(This)35 b(is)g(mostly)h(of)h(theoretical)f(in)m(terest,)j
(since)330 1215 y(a)g(sparse)f(table)g(often)h(pro)s(duces)e(faster)i
(lo)s(okups,)g(and)f(use)g(of)h(the)g(`)p Fn(-S)p Fs(')f
Fn(switch)f Fs(option)h(can)330 1325 y(minimize)e(the)j(data)g(size,)i
(at)e(the)g(exp)s(ense)f(of)h(sligh)m(tly)e(longer)h(lo)s(okups)f
(\(note)j(that)f(the)g(gcc)330 1435 y(compiler)c(generally)g(pro)s
(duces)g(go)s(o)s(d)h(co)s(de)g(for)g Fn(switch)f Fs(statemen)m(ts,)k
(reducing)c(the)h(need)g(for)330 1544 y(more)31 b(complex)f(sc)m
(hemes\).)225 1679 y Fq(\017)60 b Fs(In)38 b(addition)f(to)j(impro)m
(ving)d(the)j(algorithm,)g(it)e(w)m(ould)g(also)h(b)s(e)g(useful)e(to)i
(generate)i(an)e(Ada)330 1788 y(pac)m(k)-5 b(age)32 b(as)f(the)g(co)s
(de)f(output,)g(in)f(addition)g(to)i(the)g(curren)m(t)f(C)g(and)g(C)p
Fn(++)f Fs(routines.)p eop
%%Page: 28 30
28 29 bop 150 -116 a Fs(Chapter)30 b(7:)41 b(Bibliograph)m(y)2533
b(28)150 299 y Fp(7)80 b(Bibliograph)l(y)275 533 y Fs([1])22
b(Chang,)h(C.C.:)36 b Fl(A)24 b(Scheme)h(for)g(Constructing)h(Or)-5
b(der)g(e)g(d)26 b(Minimal)f(Perfe)-5 b(ct)24 b(Hashing)h(F)-7
b(unctions)150 643 y Fs(Information)29 b(Sciences)h(39\(1986\),)k
(187-195.)275 777 y([2])26 b(Cic)m(helli,)e(Ric)m(hard)h(J.)g
Fl(A)n(uthor's)k(R)-5 b(esp)g(onse)30 b(to)f(\\On)f(Cichel)5
b(li's)28 b(Minimal)h(Perfe)-5 b(ct)28 b(Hash)g(F)-7
b(unc-)150 887 y(tions)33 b(Metho)-5 b(d")38 b Fs(Comm)m(unications)29
b(of)i(the)f(A)m(CM,)h(23,)h(12\(Decem)m(b)s(er)g(1980\),)h(729.)275
1021 y([3])f(Cic)m(helli,)e(Ric)m(hard)g(J.)i Fl(Minimal)i(Perfe)-5
b(ct)33 b(Hash)i(F)-7 b(unctions)34 b(Made)g(Simple)39
b Fs(Comm)m(unications)150 1131 y(of)31 b(the)f(A)m(CM,)h(23,)h(1\(Jan)
m(uary)f(1980\),)h(17-19.)275 1265 y([4])22 b(Co)s(ok,)h(C.)e(R.)g(and)
f(Oldeho)s(eft,)i(R.R.)g Fl(A)h(L)-5 b(etter)25 b(Oriente)-5
b(d)25 b(Minimal)f(Perfe)-5 b(ct)24 b(Hashing)g(F)-7
b(unction)150 1375 y Fs(SIGPLAN)30 b(Notices,)h(17,)h(9\(Septem)m(b)s
(er)f(1982\),)h(18-27.)275 1509 y([5])22 b(Cormac)m(k,)j(G.)d(V.)g(and)
g(Horsp)s(o)s(ol,)g(R.)g(N.)g(S.)g(and)f(Kaiserw)m(erth,)i(M.)g
Fl(Pr)-5 b(actic)g(al)26 b(Perfe)-5 b(ct)25 b(Hashing)150
1619 y Fs(Computer)30 b(Journal,)f(28,)i(1\(Jan)m(uary)g(1985\),)i
(54-58.)275 1753 y([6])28 b(Jaesc)m(hk)m(e,)j(G.)d Fl(R)-5
b(e)g(cipr)g(o)g(c)g(al)34 b(Hashing:)41 b(A)30 b(Metho)-5
b(d)31 b(for)g(Gener)-5 b(ating)32 b(Minimal)e(Perfe)-5
b(ct)31 b(Hashing)150 1863 y(F)-7 b(unctions)39 b Fs(Comm)m(unications)
29 b(of)h(the)h(A)m(CM,)g(24,)g(12\(Decem)m(b)s(er)i(1981\),)g
(829-833.)275 1998 y([7])22 b(Jaesc)m(hk)m(e,)i(G.)e(and)f(Osterburg,)h
(G.)g Fl(On)h(Cichel)5 b(li's)25 b(Minimal)f(Perfe)-5
b(ct)24 b(Hash)h(F)-7 b(unctions)25 b(Metho)-5 b(d)150
2107 y Fs(Comm)m(unications)29 b(of)h(the)h(A)m(CM,)g(23,)h(12\(Decem)m
(b)s(er)g(1980\),)h(728-729.)275 2242 y([8])25 b(Sager,)h(Thomas)e(J.)h
Fl(A)h(Polynomial)j(Time)f(Gener)-5 b(ator)29 b(for)f(Minimal)f(Perfe)
-5 b(ct)27 b(Hash)h(F)-7 b(unctions)150 2351 y Fs(Comm)m(unications)29
b(of)h(the)h(A)m(CM,)g(28,)h(5\(Decem)m(b)s(er)g(1985\),)g(523-532)275
2486 y([9])f(Sc)m(hmidt,)e(Douglas)h(C.)g Fl(GPERF:)i(A)g(Perfe)-5
b(ct)32 b(Hash)h(F)-7 b(unction)33 b(Gener)-5 b(ator)42
b Fs(Second)30 b(USENIX)150 2595 y(C)p Fn(++)f Fs(Conference)i(Pro)s
(ceedings,)f(April)e(1990.)275 2730 y([10])42 b(Sc)m(hmidt,)h(Douglas)e
(C.)g Fl(GPERF:)i(A)e(Perfe)-5 b(ct)43 b(Hash)g(F)-7
b(unction)43 b(Gener)-5 b(ator)53 b Fs(C)p Fn(++)40 b
Fs(Rep)s(ort,)150 2839 y(SIGS)29 b(10)j(10)f(\(No)m(v)m(em)m(b)s
(er/Decem)m(b)s(er)i(1998\).)275 2974 y([11])24 b(Seb)s(esta,)h(R.W.)e
(and)g(T)-8 b(a)m(ylor,)25 b(M.A.)f Fl(Minimal)i(Perfe)-5
b(ct)26 b(Hash)g(F)-7 b(unctions)27 b(for)g(R)-5 b(eserve)g(d)27
b(Wor)-5 b(d)150 3083 y(Lists)38 b Fs(SIGPLAN)30 b(Notices,)i(20,)f
(12\(Septem)m(b)s(er)g(1985\),)i(47-53.)275 3218 y([12])43
b(Sprugnoli,)f(R.)g Fl(Perfe)-5 b(ct)43 b(Hashing)h(F)-7
b(unctions:)64 b(A)43 b(Single)g(Pr)-5 b(ob)g(e)44 b(R)-5
b(etrieving)44 b(Metho)-5 b(d)44 b(for)150 3328 y(Static)33
b(Sets)38 b Fs(Comm)m(unications)29 b(of)i(the)f(A)m(CM,)i(20)f(11\(No)
m(v)m(em)m(b)s(er)i(1977\),)f(841-850.)275 3462 y([13])27
b(Stallman,)f(Ric)m(hard)f(M.)i Fl(Using)h(and)i(Porting)f(GNU)g(CC)39
b Fs(F)-8 b(ree)28 b(Soft)m(w)m(are)f(F)-8 b(oundation,)27
b(1988.)275 3597 y([14])k(Stroustrup,)e(Bjarne)i Fl(The)h(C)p
Fn(++)g Fl(Pr)-5 b(o)g(gr)g(amming)36 b(L)-5 b(anguage.)40
b Fs(Addison-W)-8 b(esley)g(,)31 b(1986.)275 3731 y([15])g(Tiemann,)e
(Mic)m(hael)i(D.)g Fl(User's)h(Guide)h(to)g(GNU)f(C)p
Fn(++)e Fs(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)30
b(1989.)p eop
%%Page: 29 31
29 30 bop 150 -116 a Fs(Concept)31 b(Index)2927 b(29)150
299 y Fp(Concept)52 b(Index)150 642 y Fr(\045)150 777
y Fd(`)p Fc(\045\045)p Fd(')12 b Fb(.)i(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38
b Fd(12)150 874 y(`)p Fc(\045{)p Fd(')12 b Fb(.)i(.)e(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38
b Fd(15)150 972 y(`)p Fc(\045})p Fd(')12 b Fb(.)i(.)e(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38
b Fd(15)150 1069 y(`)p Fc(\0457bit)p Fd(')8 b Fb(.)14
b(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)33 b Fd(13)150 1167 y(`)p Fc(\045compare-lengths)p
Fd(')10 b Fb(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)36
b Fd(14)150 1264 y(`)p Fc(\045compare-strncmp)p Fd(')10
b Fb(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)36 b Fd(14)150
1361 y(`)p Fc(\045define)28 b(class-name)p Fd(')14 b
Fb(.)g(.)f(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)39 b Fd(13)150 1459 y(`)p
Fc(\045define)28 b(hash-function-name)p Fd(')c Fb(.)13
b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)46
b Fd(13)150 1556 y(`)p Fc(\045define)28 b(initializer-suffix)p
Fd(')c Fb(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
46 b Fd(13)150 1654 y(`)p Fc(\045define)28 b(lookup-function-name)p
Fd(')18 b Fb(.)e(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)43
b Fd(13)150 1751 y(`)p Fc(\045define)28 b(slot-name)p
Fd(')15 b Fb(.)g(.)d(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)41 b Fd(13)150
1849 y(`)p Fc(\045define)28 b(string-pool-name)p Fd(')f
Fb(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)49 b Fd(14)150 1946 y(`)p Fc(\045define)28 b(word-array-name)p
Fd(')7 b Fb(.)15 b(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)32 b Fd(15)150 2044 y(`)p Fc(\045delimiters)p
Fd(')17 b Fb(.)f(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)43
b Fd(12)150 2141 y(`)p Fc(\045enum)p Fd(')8 b Fb(.)14
b(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)33 b Fd(14)150 2239 y(`)p Fc(\045global-table)p
Fd(')14 b Fb(.)i(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)40
b Fd(14)150 2336 y(`)p Fc(\045ignore-case)p Fd(')16 b
Fb(.)g(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)41
b Fd(13)150 2434 y(`)p Fc(\045includes)p Fd(')23 b Fb(.)12
b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)46
b Fd(14)150 2531 y(`)p Fc(\045language)p Fd(')23 b Fb(.)12
b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)46
b Fd(13)150 2629 y(`)p Fc(\045null-strings)p Fd(')14
b Fb(.)i(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)40 b
Fd(15)150 2726 y(`)p Fc(\045omit-struct-type)p Fd(')9
b Fb(.)16 b(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)34 b Fd(15)150 2824
y(`)p Fc(\045pic)p Fd(')9 b Fb(.)14 b(.)f(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)35 b
Fd(14)150 2921 y(`)p Fc(\045readonly-tables)p Fd(')10
b Fb(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)36 b Fd(14)150
3019 y(`)p Fc(\045struct-type)p Fd(')16 b Fb(.)g(.)c(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)41 b Fd(12)150 3116 y(`)p Fc(\045switch)p
Fd(')25 b Fb(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)49 b Fd(15)150 3394 y Fr(A)150 3528 y Fd(Arra)n(y)25
b(name)18 b Fb(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)44 b Fd(22)150 3819 y Fr(B)150 3953 y Fd(Bugs)9
b Fb(.)k(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)35 b Fd(8)150 4243 y Fr(C)150
4378 y Fd(Class)27 b(name)10 b Fb(.)i(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fd(21)2025 642 y Fr(D)2025
764 y Fd(Declaration)27 b(section)d Fb(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)49 b Fd(11)2025 855 y(Delimiters)9 b Fb(.)j(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fd(19)2025
946 y(Duplicates)23 b Fb(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)49 b Fd(23)2025 1203 y Fr(F)2025
1325 y Fd(F)-6 b(ormat)22 b Fb(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)49 b Fd(11)2025
1416 y(F)-6 b(unctions)25 b(section)18 b Fb(.)13 b(.)f(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)44 b Fd(11)2025 1660 y Fr(H)2025 1781
y Fc(hash)13 b Fb(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)38 b Fd(17)2025 1873
y(hash)25 b(table)9 b Fb(.)k(.)f(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)34 b Fd(17)2025 2117 y Fr(I)2025
2238 y Fc(in_word_set)23 b Fb(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)46 b Fd(17)2025 2330 y(Initializers)25
b Fb(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
49 b Fd(20)2025 2573 y Fr(J)2025 2695 y Fd(Jump)24 b(v)l(alue)6
b Fb(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
32 b Fd(24)2025 2952 y Fr(K)2025 3073 y Fd(Keyw)n(ords)25
b(section)16 b Fb(.)e(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)42
b Fd(11)2025 3330 y Fr(M)2025 3452 y Fd(Minimal)26 b(p)r(erfect)g(hash)
g(functions)c Fb(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)48 b Fd(10)2025 3708 y Fr(N)2025 3830 y Fd(NUL)9
b Fb(.)j(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)35 b Fd(18)2025 4074 y Fr(S)2025
4195 y Fd(Slot)26 b(name)13 b Fb(.)e(.)i(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)39 b Fd(20)2025 4287 y(Static)26
b(searc)n(h)g(structure)20 b Fb(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)46
b Fd(10)2025 4378 y Fc(switch)22 b Fb(.)12 b(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)46 b Fd(18,)27 b(22)p
eop
%%Page: -1 32
-1 31 bop 3725 -116 a Fs(i)150 299 y Fp(T)-13 b(able)54
b(of)g(Con)l(ten)l(ts)150 641 y Fr(GNU)45 b(GENERAL)g(PUBLIC)g(LICENSE)
31 b Fa(.)19 b(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)75 b
Fr(1)449 778 y Fs(Pream)m(ble)16 b Fl(.)e(.)h(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)45 b Fs(1)449 888
y(TERMS)29 b(AND)j(CONDITIONS)d(F)m(OR)h(COPYING,)h(DISTRIBUTION)631
997 y(AND)g(MODIFICA)-8 b(TION)24 b Fl(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)54 b Fs(2)449 1107
y(Ho)m(w)31 b(to)g(Apply)e(These)h(T)-8 b(erms)30 b(to)h(Y)-8
b(our)31 b(New)f(Programs)16 b Fl(.)g(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)46 b Fs(6)150 1349 y Fr(Con)l(tributors)g(to)f(GNU)g
Fk(gperf)e Fr(Utilit)l(y)16 b Fa(.)21 b(.)e(.)h(.)f(.)h(.)f(.)h(.)f(.)h
(.)f(.)g(.)h(.)60 b Fr(8)150 1619 y(1)135 b(In)l(tro)t(duction)15
b Fa(.)20 b(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f
(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)60
b Fr(9)150 1889 y(2)135 b(Static)45 b(searc)l(h)h(structures)f(and)f
(GNU)h Fk(gperf)15 b Fa(.)i(.)j(.)f(.)60 b Fr(10)150
2159 y(3)135 b(High-Lev)l(el)46 b(Description)g(of)f(GNU)g
Fk(gperf)21 b Fa(.)c(.)i(.)h(.)f(.)h(.)65 b Fr(11)449
2296 y Fs(3.1)92 b(Input)29 b(F)-8 b(ormat)32 b(to)f
Fn(gperf)23 b Fl(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)54 b Fs(11)748 2405 y(3.1.1)93 b(Declarations)9
b Fl(.)15 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)39 b Fs(11)1047 2515 y(3.1.1.1)93 b(User-supplied)28
b Fn(struct)10 b Fl(.)j(.)i(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)39 b Fs(12)1047 2624 y(3.1.1.2)93
b(Gp)s(erf)30 b(Declarations)18 b Fl(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)47 b Fs(12)1047
2734 y(3.1.1.3)93 b(C)30 b(Co)s(de)g(Inclusion)d Fl(.)15
b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)59 b Fs(15)748 2844 y(3.1.2)93 b(F)-8 b(ormat)31
b(for)f(Keyw)m(ord)g(En)m(tries)17 b Fl(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)46 b Fs(15)748
2953 y(3.1.3)93 b(Including)27 b(Additional)h(C)i(F)-8
b(unctions)19 b Fl(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)49 b Fs(16)748 3063 y(3.1.4)93 b(Where)30 b(to)h(place)g
(directiv)m(es)e(for)i(GNU)g Fn(indent)p Fs(.)17 b Fl(.)c(.)i(.)g(.)g
(.)g(.)46 b Fs(16)449 3172 y(3.2)92 b(Output)29 b(F)-8
b(ormat)32 b(for)e(Generated)h(C)f(Co)s(de)g(with)f Fn(gperf)23
b Fl(.)14 b(.)h(.)g(.)g(.)g(.)g(.)g(.)52 b Fs(17)449
3282 y(3.3)92 b(Use)31 b(of)f(NUL)h(b)m(ytes)22 b Fl(.)16
b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)
f(.)g(.)51 b Fs(18)150 3524 y Fr(4)135 b(In)l(v)l(oking)45
b Fk(gperf)16 b Fa(.)i(.)h(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h
(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)61
b Fr(19)449 3661 y Fs(4.1)92 b(Sp)s(ecifying)28 b(the)i(Lo)s(cation)h
(of)f(the)h(Output)e(File)19 b Fl(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)49 b Fs(19)449 3771 y(4.2)92 b(Options)29
b(that)i(a\013ect)h(In)m(terpretation)e(of)h(the)f(Input)f(File)e
Fl(.)15 b(.)g(.)g(.)g(.)g(.)g(.)57 b Fs(19)449 3880 y(4.3)92
b(Options)29 b(to)i(sp)s(ecify)e(the)i(Language)g(for)f(the)h(Output)e
(Co)s(de)14 b Fl(.)g(.)h(.)g(.)g(.)43 b Fs(19)449 3990
y(4.4)92 b(Options)29 b(for)h(\014ne)g(tuning)f(Details)h(in)f(the)i
(Output)e(Co)s(de)23 b Fl(.)15 b(.)g(.)g(.)g(.)g(.)g(.)53
b Fs(20)449 4100 y(4.5)92 b(Options)29 b(for)h(c)m(hanging)g(the)h
(Algorithms)e(emplo)m(y)m(ed)h(b)m(y)h Fn(gperf)21 b
Fl(.)14 b(.)50 b Fs(23)449 4209 y(4.6)92 b(Informativ)m(e)30
b(Output)d Fl(.)15 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)58 b Fs(25)150 4452 y Fr(5)135 b(Kno)l(wn)45
b(Bugs)f(and)h(Limitations)i(with)e Fk(gperf)32 b Fa(.)19
b(.)g(.)79 b Fr(26)150 4721 y(6)135 b(Things)44 b(Still)i(Left)g(to)f
(Do)23 b Fa(.)d(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h
(.)f(.)g(.)h(.)f(.)68 b Fr(27)150 4991 y(7)135 b(Bibliograph)l(y)38
b Fa(.)19 b(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h
(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)82
b Fr(28)150 5261 y(Concept)45 b(Index)21 b Fa(.)e(.)g(.)h(.)f(.)h(.)f
(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)
f(.)g(.)h(.)f(.)h(.)f(.)h(.)65 b Fr(29)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF